フォルダに散在している名前の異なる同じファイルを削除したい。このコマンドは、ファイルの検索と一覧表示に適しています。次に、手動でファイルを削除します。
以下のコマンドに削除オプションを追加することはできますか?
find /folder -type f -exec md5sum {} + | grep '^aafa26a6610d357d8e42f44bc7e76635'
試してみてください
find ... | awk '{$1 = "rm" ; print } ' | bash
これにより、実際のmd5sum(aaf...
)がrmに置き換えられます。
これは、ファイル名に特殊文字が含まれている場合や、ファイルが書き込み保護されている場合(rm
をrm -f
に置き換えます)には機能しません。
別の可能性は以下のとおりです。必要に応じて、rm
をrm -f
に置き換えます。また、-n1
をxargs
に追加して(rm
を削除)、渡された引数を出力させます(検証目的で)。
find . -type f -exec md5sum {} + | awk '$1 == "d41d8cd98f00b204e9800998ecf8427e" {printf "%s\0", substr($0, 35)}' | xargs -r0 rm
この方法に注意してくださいdoesファイル名やフォルダのスペースを処理します。