Удалите список каталогов, сохраненных в файле

У меня есть список названий каталогов в следующем пути

/home/list/list.txt

Каталоги - все в следующем пути

/home/directory/

Как я могу удалить каталоги, содержавшиеся в списке с помощью командной строки?

2
задан 19 August 2015 в 18:53

4 ответа

Предположим, каталоги пусты, сказал бы я...

while IFS= read -r directory
do
   #rmdir /home/directory/"$directory"
   echo rmdir /home/directory/"$directory"
done < /home/list/list.txt

И после того как Вы видите echo работы, поскольку Вы хотите, чтобы это работало, не комментируют rmdir.

Это циклично выполняется последовательно через содержание /home/list/list.txt и хранит значение каждой строки в $directory. Затем это работает rmdir действие.

Отметьте использование двойных кавычек для предотвращения ошибок, если имена содержат пробелы. IFS= и read -r хорошо объяснены в том, Как я могу считать файл (поток данных, переменная) линию за линией (и/или поле полем)?,


Если каталоги не пусты, и Вы абсолютно уверены в том, что Вы делаете, использовать rm -r. Можно затем добавить -f вызвать (снова: если Вы уверены), или -v иметь подробный вывод.

5
ответ дан 2 December 2019 в 01:25

запустите с

xargs -I{} echo rm -fr /home/directory/{} </home/list/list.txt

, который просто эхо команда, чтобы сделать, и если хорошо удаляют эхо.

8
ответ дан 2 December 2019 в 01:25

Вы хорошо с Python?

from os import system
lines = open("/home/list/list.txt", 'rb').readlines()
for i in range(0, len(lines)):
    currentline = lines[i]
    rmcommand = "rm -r " + currentline.strip('\n')
    system(rmcommand)

Это возьмет список, разделит строки на массив, затем даст команду для каждого индекса в массиве. Эти strip должен избавиться от запаздывающего символа новой строки, если Вы существуете.

2
ответ дан 2 December 2019 в 01:25

Используя awk в простой остроте

awk '{system ("rm -r /home/directory/\""$0"\"")}' /home/list/list.txt

Команда выполняет итерации по записям во входном файле и создает rm команда через system.

1
ответ дан 2 December 2019 в 01:25

Другие вопросы по тегам:

Похожие вопросы: