Відповіді:
Якщо у вас є один файл у рядку, один із способів зробити це:
tr '\n' '\0' < list_of_files_to_be_deleted.txt | xargs -0 -r rm --
Список файлів подається як вхід до tr
команди, яка змінює розділювач файлів з рядкової стрічки на нульовий байт і xargs
команда читає файли, розділені нульовими байтами на вході, і запускає команду rm з файлами, доданими як аргументи.
rm --
замість просто rm
, щоб назви файлів, які можуть починатися з тире, не розглядалися як rm
параметри.
monu.txt' Try
tr --help 'для отримання додаткової інформації. rm: відсутній операнд Спробуйте `rm --help 'для отримання додаткової інформації. ........ Це все, що я можу побачити
Вищезгадана відповідь чудова тим, що вона дуже сильно обробляє імена файлів з пробілами та "дивними характеристиками". Але найпростіший спосіб, якщо імена файлів є здоровими, - це просто (попередження, башизм!):
rm $(< /the/file/with/names)
Для звичайної оболонки:
rm `cat /the/file/with/names`