Відповіді:
Якщо у вас є один файл у рядку, один із способів зробити це:
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`