特定の数のファイルを圧縮しようとしていますが、以下のポイントでスタックしています。
ls -lrt /lag/cnn/*/*/*/adb.tar.gz | grep -nri ABC >> sample.txt
Sample.txtで、tarする必要のあるfilesNamesを抽出するためにtouchコマンドを実行する必要があるfilesNamesを取得しました。
touch -t '<time>' first & touch -t '<time>' last
だから私の質問は、どうすればこのタッチをsample.txtに実装して、時間に基づいて必要なものを抽出し、それらのファイルをtarすることができますか? touchコマンドとtarコマンドをpipeを使用して上記のコマンドに追加できるかどうか、または個別に追加する必要があります。
find
に、/lag/cnn
内で、少なくとも何分も前の最大深度3までのファイルを見つけるように依頼します。次に、xargsを使用してそれらをtarに渡します(Zipするため)。
これはgnuツールで機能します:
find /lag/cnn -maxdepth 3 -newermt "2013-12-19 00:00" -o -type f -newermt "2013-12-16 00:00" -print0 |
xargs -0 tar acf out.tar.gz
これは他のツールでも機能するはずです。
touch -d 2013-12-19 00:00 later-timestamp.temporary
touch -d 2013-12-16 00:00 earlier-timestamp.temporary
find /lag/cnn -maxdepth 3 -newermm later-timestamp.temporary -o -type f -newermm earlier-timestamp.temporary -print0 |
xargs -0 tar zcf out.tar.gz