Как удалить все файлы с заданным именем во всех подкаталогах?

Я хочу удалить все файлы с заданным именем во всех подкаталогах моего домашнего каталога.

Я пытался:

rm -r file 

в моем домашнем каталоге, но это не сработало, потому что этот файл не существует в этом каталоге.

2 Solutions collect form web for “Как удалить все файлы с заданным именем во всех подкаталогах?”

find . -name "filename" -delete

как уточнение на ответе @ 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> 

Как всегда, убедитесь, что точность любых скриптов перед выполнением и всегда есть резервная копия в случае, если что-то пойдет не так.

  • Не удалось удалить файл
  • Какова идея, по которой rm не удаляет файл без записи по умолчанию?
  • Как удалить файл с двумя словами, разделенными пробелом в оболочке?
  • Создание каталога, защищенного от 'rm -rf'
  • Удаляются ли ссылки между файлом inode и data файла при удалении файла?
  • Удаление файлов-призраков с символами, отличными от ASCII
  • Как псевдоним rm всегда подтверждать
  • Не удалось удалить файл, даже если он работает от имени root
  • Обработка каждой строки из текстового файла и удаление связанных файлов с диска
  • Почему «rm -rf ./» ничего не удаляет?
  • Я не могу удалить файл из системного раздела EFI
  • Linux и Unix - лучшая ОС в мире.