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-namegibt einen Dateinamen an-maxdepth 1bewirkt, dass find nur das angegebene Verzeichnis verarbeitet (finddurchläuft standardmäßig Verzeichnisse)-type fverarbeitet nur Dateien (und nicht zum Beispiel Verzeichnisse)-deletelö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
-printstatt-deletefind . ! -name u ! -name p -maxdepth 1 -type f -print