私はDebian 10 Busterを使用しており、Linuxを初めて使用しています。遅すぎて決して..
道を渡って建設現場を長時間低速撮影映像にするためにイメージを収集しています。
すべての写真は、土曜日と日曜日に撮影した写真を含むカタログにあります。
ファイル名の形式は次のとおりです。
YYYY-MM-DD_HHMM.jpg
はい
2021-05-07_1012.jpg
今、土曜日、日曜日に作成された写真を削除しようとしています。
以下を実行すると(ここの他のスレッドで)、土曜日と日曜日に生成されたすべてのファイルを一覧表示できます。
find -type f -printf '%Ta\t%p\n' | egrep "^(Sat|Sun)" | cut -f 2-
問題は、この行を削除ステートメントで変更してファイルを削除するにはどうすればよいですか?
別のオプションは、ファイルを自分の作業ディレクトリにコピーするときにファイルを除外することです(ナスはファイルをNASに保存します)。
rsync を使用してファイルをコピーします。
よろしくお願いします。
答え1
xargs rm
コマンドに追加され、次のような結果が得られました。
find -type f -printf '%Ta\t%p\n' | egrep "^(Sat|Sun)" | cut -f 2- | xargs rm
検索結果に一致するすべてのファイルが削除されます。これを使用して、rm -v
どのファイルが削除されたかを確認することもできます。
xargs
標準入力から項目を読み、コメントで述べたようにパターンで使用できます。ただし、ここのスキーマは、およびfind
をprintf
使用してegrep
定義されますcut
。
xargs rm
ファイルを検索するコマンドを実行すると相対パスが印刷されますが、これらのパスを使用するとそのパスが提供され削除さrm
れxargs
ます。