An rm
alle außer u,p
Geben Sie in der Bash einfach Folgendes ein:
rm !(u|p)
Dazu muss die folgende Option gesetzt werden:
shopt -s extglob
Siehe mehr:glob - Gregs Wiki
In diesen Fällen tippe ich
rm *
Dann drücke ich Strg +X ,* erweitern *
in alle sichtbaren Dateinamen.
Dann kann ich einfach die beiden Dateien, die ich behalten möchte, aus der Liste entfernen und schließlich die Befehlszeile ausführen.
Sie können find
verwenden
find . ! -name u ! -name p -maxdepth 1 -type f -delete
!
negiert den nächsten Ausdruck-name
gibt einen Dateinamen an-maxdepth 1
bewirkt, dass find nur das angegebene Verzeichnis verarbeitet (find
durchläuft standardmäßig Verzeichnisse)-type f
verarbeitet nur Dateien (und nicht zum Beispiel Verzeichnisse)-delete
löscht die Dateien
Sie können dann die Bedingungen anpassen, indem Sie auf die Manpage von find
schauenAktualisieren
- Denken Sie daran, dass die Reihenfolge der Elemente der Ausdrücke wichtig ist (siehe Dokumentation)
-
Testen Sie Ihren Befehl zuerst mit
-print
statt-delete
find . ! -name u ! -name p -maxdepth 1 -type f -print