すべてのサブディレクトリから特定の名前を持つすべてのファイルを削除する方法は?

すべてのサブディレクトリから特定の名前を持つすべてのファイルを削除する方法は?

私のホームディレクトリのすべてのサブディレクトリから特定の名前を持つすべてのファイルを削除したいと思います。

私は試した:

rm -r file

私のホームディレクトリにありますが、そのディレクトリにファイルがないため、機能しません。

答え1

find . -name "filename" -delete

答え2

@tanteの答えを詳しく説明すると、次のファイルを削除する前に正しいファイルのリストを使用していることを確認できます。

find <source_dir> -name <filename> -print

小切手に有効なリストが表示された場合

find <source_dir> -name <filename> -delete

一時保存ディレクトリを使用して複数のディレクトリでこれを行う場合は、他のオプションがあります。

mkdir <dest_dir>
for i in <list_of_directories>
do
  find "$i" -name <filename> -exec /bin/mv {} <dest_dir>
done

# check dest_dir
ls dest_dir
rm -rf <dest_dir>

いつものように、スクリプトを実行する前にスクリプトの正確性を確認し、問題が発生した場合に備えて常にバックアップを準備してください。

関連情報