Ich muss oft eine lange Liste von Dateien mit cp -iar
selektiv archivieren , oder ähnlich, und um den Vorgang zu beschleunigen, möchte ich nur eine Taste anstelle von y
drücken oder n
gefolgt von ENTER
auf jeder Datei. Mit anderen Worten, ich möchte vermeiden, ENTER
drücken zu müssen sowie y
oder n
. Natürlich würde ich gerne andere Schlüssel anstelle von y
verwenden oder n
.
Gibt es dafür eine Möglichkeit?
Akzeptierte Antwort:
Ich denke, was Sie brauchen, ist ein Dateimanager wie der Mitternachtskommandant. In mc können Sie mit insert mehrere Dateien auswählen oder + und führen Operationen darauf aus, wie Löschen, Verschieben oder Kopieren. Eine vollständige Anleitung und Tipps finden Sie im Tutorial.
Wenn Sie es mit reinen Shell-Befehlen (ohne GUI) versuchen, nehmen Sie an, Sie haben file0 bis file10, möchten aber nur file1 und file3 kopieren:
cp file1 file3 directory/
Natürlich können Sie sich mit der Shell selbst helfen:
cp file{1,3} directory/
aber was ist mit aufeinanderfolgenden? Datei5 bis Datei10?
cp file{5..10} directory/
Sie können auch find
verwenden um zu helfen, wenn Sie etwas Fortgeschritteneres wollen, zum Beispiel:
find Downloads -name "*.cfg" -exec cp {} directory ;
wird dies tun:
copy Downloads/file(6).cfg to directory
copy Downloads/file(7).cfg to directory
copy Downloads/file(1).cfg to directory
copy Downloads/file.cfg to directory
copy Downloads/file(2).cfg to directory
copy Downloads/file(4).cfg to directory
copy Downloads/file(3).cfg to directory
copy Downloads/file(5).cfg to directory
Sie können die zu kopierenden Dateien überprüfen, indem Sie die -exec ...
entfernen Teil. Sie können auch -exec echo cp ...
verwenden falls Sie wissen wollen, was find tun wird.