Für etwas, das etwas ausgefallener ist, als Ja oder Nein auf jede Datei zu antworten, können Sie die Option iselect
für die interaktive Auswahl auf der Basis von ncurses verwenden. z.B
iselect -a -m < list.txt | xargs -d '\n' -r echo rm
oder um die Auswahl von Dateien im aktuellen Verzeichnis zuzulassen:
find . -maxdepth 1 -type f | iselect -a -m | xargs -d '\n' -r echo rm
Daraufhin wird eine auf Vollbildschirm (Vollterminal) basierende Auflistung angezeigt, in der Dateien durch Drücken der LEERTASTE nach Belieben ausgewählt und abgewählt werden können. Drücken Sie die EINGABETASTE, um Ihre Auswahl zu bestätigen (ausgewählte Einträge werden auf stdout gedruckt) oder um q
zu beenden (nichts wird auf stdout gedruckt). Drücken Sie h
für Hilfe.
Beachten Sie die echo rm
- ich habe es zum Testen so geschrieben. Ändern Sie es, rm
sobald Sie sicher sind, dass Sie verstehen, was es tut.
Beachten Sie auch, xargs
dass hier \n
als Eingangstrennzeichen verwendet wird. Dies funktioniert nicht, wenn einer der Dateinamen Zeilenvorschubzeichen enthält. Im iselect
Übrigen funktioniert das auch nicht richtig - es erwartet ein Element pro Zeile - leider iselect
gibt es keine Option für nullterminierte Eingaben oder Ausgaben.
iselect
ist für Debian, wahrscheinlich Ubuntu und andere Distributionen ebenfalls gepackt. Die Homepage befindet sich unter http://www.ossp.org/pkg/tool/iselect/
y
, wäre die vorherige Datei gelöscht worden?