我的服务器上有一个文件夹,其中包含一些文件。这些都是自动化的,这意味着每天我们都会自动获得新文件,这些新文件将覆盖旧文件。
因此,想要备份此数据。
如何通过在复制时用当前日期重命名文件,将所有这些文件复制到另一个文件夹中。

例如:我有一个名为folder1的文件夹,其中包含4个文件。该文件夹的路径是home / webapps / project1 / folder1

  • aaa.csv
  • bbb.csv
  • ccc.csv
  • ddd.csv

  • 现在我想将所有这四个文件复制到另一个名为folder2的文件夹中。
    该文件夹的路径是home / webapps / project1 / folder2。
    在复制这些文件时,我想重命名每个文件并将当前日期添加到文件中。
    所以我在folder2中的文件名应该是..
  • aaa091012.csv
  • bbb091012.csv
  • ccc091012.csv
  • ddd091012.csv

  • 我想为此编写一个shell脚本。请给我一些想法或与此相关的示例脚本。

    最佳答案

    bash中,只要您的文件名没有空格:

    cd /home/webapps/project1/folder1
    for f in *.csv
    do
       cp -v "$f" /home/webapps/project1/folder2/"${f%.csv}"$(date +%m%d%y).csv
    done
    

    关于bash - Shell脚本可将文件从一个位置复制到另一位置并重命名,将当前日期添加到每个文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12355176/

    10-09 06:05
    查看更多