Для чего-то более изящного, чем ответ «да» или «нет» на каждый файл, вы можете использовать его iselect
для интерактивного выбора на основе ncurses. например
iselect -a -m < list.txt | xargs -d '\n' -r echo rm
или разрешить выбор файлов в текущем каталоге:
find . -maxdepth 1 -type f | iselect -a -m | xargs -d '\n' -r echo rm
При этом отобразится полноэкранный (полный терминал) список на основе ncurses, где файлы можно выбирать и отменять по желанию, нажав клавишу ПРОБЕЛ. нажмите ENTER, чтобы принять ваш выбор (выбранные записи будут напечатаны на стандартный вывод) или q
выйти (ничего не выводится на стандартный вывод). нажмите h
для помощи.
Обратите внимание echo rm
- я написал это так для тестирования. замените его, чтобы rm
убедиться, что вы понимаете, что он делает.
Также обратите внимание, xargs
что здесь используется \n
в качестве разделителя ввода. Это не будет работать, если любое из имен файлов содержит символы перевода строки. В этом отношении, iselect
он также не будет работать должным образом - он ожидает один элемент на строку - к сожалению, iselect
не имеет опции для ввода или вывода с нулевым символом в конце.
iselect
упакован для Debian, возможно Ubuntu и других дистрибутивов. домашняя страница находится по адресу http://www.ossp.org/pkg/tool/iselect/
y
, предыдущий файл был бы удален?