-t でコピーして時間を維持する方法

-t でコピーして時間を維持する方法

Ubuntu 16(ターミナル)で誤ってファイルを削除してしまい、photorecを使用して復元しましたが、結果が多すぎてどれが最新かを手動で確認するのは困難です。そこで、次のコマンドを使用します。

find -name "*.c" -print0 | xargs -0 -r grep -lH "Created named pipe" | xargs cp -p -t found/

検索文字列を含むすべてのフォルダ内の.cファイルを検索します。cp -tを使用すると、それらのファイルを別の場所にコピーできます。残念ながら、私が-p (or --preserve=timestamp)使用しているファイルの日付を指定しましたがls -altコピーしようとしているファイルの日付ではありません。コピーする元のファイルの日付を確認しましたが、その日付は正しいです(過去の日付です)

コピー中に元のファイルの日付を維持するにはどうすればよいですか?

答え1

コピーしない解決策を見つけましたが、最新のファイルのみをコピーしたいので問題ありません。これで ls -alt $( find -name "*.c" -print0 | xargs -0 -r grep -lH "Created named pipe" ) 必要なことはすべて実行できます。すべてのファイルのタイムスタンプが印刷されます。

ファイルを rm して復元しても、編集日が復元されないこともわかりました。学習は決して終わりません...

とにかく、これが他の人の役に立つかもしれません、ありがとう。

関連情報