使用通配符移动文件并向文件名添加时间戳

使用通配符移动文件并向文件名添加时间戳

我需要将文件移动到存档文件夹,并在文件名前面添加时间戳。

mv /dev/DataStage/myProject/source/TEST/MyFile_*.csv 
/dev/DataStage/myProject/Archive/TEST/MyFile_*.csv

将 MyFile_20180817.csv 移动为 My~1.csv 而不是 MyFile_20180817.csv

当我将文件移动到存档文件夹时,我还需要在文件名前面添加时间戳,例如:MyFile_20180817.csv 到 20180817_1057.MyFile_20180817.csv:

mv /dev/DataStage/myProject/source/TEST/MyFile_*.csv 
/dev/DataStage/myProject/Archive/TEST/`date +%Y%m%d_%H%M`.MyFile_*.csv

将 MyFile_20180817.csv 移动为 201808~1.CSV 而不是 MyFile_20180817.csv

谢谢。

答案1

  1. 使用重命名来缩短(如果文件系统不同,则会失败):

    重命名“/dev/DataStage/myProject/Archive/TEST/`日期 +%Y%m%d_%H%M`。” /dev/DataStage/myProject/source/TEST/MyFile_*.csv

  2. 带循环

    对于 /dev/DataStage/myProject/source/TEST/MyFile_*.csv 中的文件; do filename=`basename $file` mv $file /dev/DataStage/myProject/Archive/TEST/`date +%Y%m%d_%H%M`.${filename} 完成

相关内容