我想将最后一个主题日期附加到将被复制的 FileName 我只知道如何将当前日期附加到文件中,例如:
find -name *.log -exec cp {} {}__$(date "+%F")__bak \;
和 test.log --> test.log__2012.12.24__bak
我想要 test.log --> test.log__{last_mofigy_date}__bak
但是如何将最后修改日期附加到文件名,最好是在一个语句中完成
单程:
$ for file in $(find . -name *.log )
> do
> x=$(stat -c %y $file)
> echo cp $file ${file}_${x%% *}_bak
> done
此片段将显示cp
形成的命令集。如果正确,请删除 echo 并运行它以复制文件。
更新: 另一种仅使用 find 和 exec 的方法:
find . -name *.log -exec bash -c 'x={} ; y=$(stat -c %y $x); echo cp $x ${x}_${y%% *}_bak ' \;