如何在cp文件时将最后的动机日期附加到FileName后缀

时间:2012-12-24 11:42:38

标签: linux shell

我想将最后的动机日期附加到将要复制的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

但是如何将最后修改日期附加到fileName,最好是在一个语句中完成

1 个答案:

答案 0 :(得分:0)

一种方式:

$ for file in $(find .  -name *.log )
> do
>  x=$(stat -c %y $file)
>  echo cp $file ${file}_${x%% *}_bak
> done

此代码段将显示已形成的cp个命令集。如果正确,请删除回显并运行它以复制文件。

<强>更新 使用find和exec的另一种方法:

 find . -name *.log -exec bash -c 'x={} ; y=$(stat -c %y $x); echo cp $x ${x}_${y%% *}_bak ' \;