Entfernen Sie alle Dateien außer einer mit rm


10

Gibt es eine Möglichkeit, alle Dateien in einem Verzeichnis zu entfernen, außer einer mit einem bestimmten Dateinamen? Zum Beispiel hatte , wenn ich ein Verzeichnis für die Dateien enthält file1, file2und dontdelete. Gibt es eine Möglichkeit, schnell zu löschen file1, file2und nicht dontdelete? Ich weiß, dass ich es einfach tun könnte, rm file1 file2aber das würde für eine Reihe von Dateien nicht funktionieren. Außerdem bin ich unter Mac OS X, wenn das einen Unterschied macht.


Einfaches Platzhalterzeichen kann Ihre Lösung sein: rm file * entfernt Datei1 und Datei2, löscht jedoch nicht. Wenn Ihre Anforderungen komplexer sind, können Sie abhängig von der Shell-Skriptsprache eine Liste der Dateien erstellen, die Sie mit einem regulären Ausdruck löschen möchten, und diese an den Befehl rm weiterleiten.
Therobyouknow

@Rob: Ja, meine Situation ist komplexer. Und Ignacios Antwort funktionierte. Trotzdem danke!
Wuffers

Antworten:


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.