(2 Antworten)
Wie lösche ich alle Dateien außer einer benannten Datei aus einem bestimmten Ordner [duplizieren]
(5 Antworten)
Vor 2 Jahren geschlossen.
Ich habe ein Verzeichnis, das von einem anderen Benutzer gefüllt wird, und ich habe die Aufgabe, es zu pflegen. Ich möchte den gesamten Inhalt außer 2 Dateien mit einem bestimmten Namen löschen. Geht das mit rm
oder soll ich das tun:
cp aaa/a ./a && cp aaa/b ./b && rm -rf aaa/* && mv ./a aaa/a && mv ./b aaa/b
wobei aaa
ist das Verzeichnis, a,b
sind die Dateien, die ich behalten möchte, und es gibt (zumindest möglicherweise) andere Dateien/Verzeichnisse darin.
Gibt es einen besseren (und kürzeren) Weg?
Akzeptierte Antwort:
Mit bash erweiterten Globs, gegeben
$ tree aaa
aaa
├── a
├── b
├── c
├── d
├── e
└── subdir
dann
rm -rf aaa/!(a|b)
Blätter
$ tree aaa
aaa
├── a
└── b
0 directories, 2 files