0

コピーされる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つのステートメントで実行できる場合に最適です。

4

1 に答える 1

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 ' \;
于 2012-12-24T12:07:37.213 に答える