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

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

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

Если у вас есть один файл на строку, один из способов сделать это:

 tr '\n' '\0' < list_of_files_to_be_deleted.txt | xargs -0 -r rm -- 

Список файлов задается как вход в команду tr которая изменяет разделитель файлов от linefeed до нулевого байта, и команда xargs считывает файлы, разделенные нулевыми байтами на входе, и запускает команду rm с файлами, добавленными в качестве аргументов.

Вышеупомянутый ответ хорош тем, что он отлично подходит для обработки имен файлов с пробелами и «странными символами». Но самый простой способ, если имена файлов являются нормальными, – это просто (предупреждение, бахизм!):

 rm $(< /the/file/with/names) 

Для обычной оболочки:

 rm `cat /the/file/with/names` 
  • Я случайно выполнил rm -rf / * (не как root). Что я могу исправить?
  • Как удалить файлы в одной папке, которая старше 60 дней в UNIX?
  • Дайте пользователю разрешение на rm без пароля или sudo
  • Сценарий оболочки для удаления всех файлов, которые являются более старыми
  • Удаление файла в особых условиях, если возможно, рекурсивно
  • Интерактивное удаление файлов из списка
  • Не удалось удалить файлы через терминал
  • Команда macOS rm '-W' - восстановить
  • Не удается удалить одно и то же имя папки дважды
  • rm -rf все файлы и все скрытые файлы. & .. ошибка
  • синхронизировать файлы с разным расширением в MacOS
  • Linux и Unix - лучшая ОС в мире.