Для удаления каталогов из файла в Ubuntu используйте команду xargs, которая будет передавать имена каталогов из файла команде rm -r для рекурсивного удаления. Например, если ваш список каталогов находится в файле catalogs.txt, выполните команду: xargs -a catalogs.txt -I {} rm -r {}.
Пошаговая инструкция
- Создайте файл со списком каталогов. В этом файле каждый каталог должен быть указан на новой строке. Например, создайте файл
catalogs.txtс содержимым:
Код
/home/user/folder1
/mnt/backup/old_data
/tmp/temp_files
- Выполните команду в терминале :
Код
xargs -a catalogs.txt -I {} rm -r {}
xargs: команда, которая читает элементы из стандартного ввода или файла и выполняет команду, используя эти элементы как аргументы.-a catalogs.txt: указываетxargs, что нужно читать данные из файлаcatalogs.txt.-I {}: указываетxargsиспользовать{}как заполнитель для имени каталога, который читается из файла. Вместо{}будет подставляться каждая строка из файла.rm -r: команда для удаления каталогов. Опция-rозначает «рекурсивно», то есть удаляется сам каталог и все его содержимое (файлы и подкаталоги).
Важные замечания
- Используйте с осторожностью: Команда
rm -rбезвозвратно удаляет файлы и каталоги. Убедитесь, что в списке нет нужных вам каталогов, прежде чем запускать команду. - Проверка перед удалением: Для большей безопасности можно сначала проверить, какие каталоги будут удалены, добавив опцию
-print0кxargs, а затем просмотреть вывод:
Код
xargs -a catalogs.txt -0 echo rm -r
После проверки и убедившись, что все правильно, выполните команду без echo.
- Пустые каталоги: Если вы хотите удалить только пустые каталоги, используйте
rmdirвместоrm -r. Однако для удаления непустых каталогов (rmdirне сработает), командаrm -rнеобходима.