Löschen Sie alle Dateien in einem Ordner, die nicht mit einer bestimmten Zeichenfolge beginnen

Löschen Sie alle Dateien in einem Ordner, die nicht mit einer bestimmten Zeichenfolge beginnen

Wie kann ich in einem bestimmten Ordner alle Dateien löschen, die nicht mit „2012“ beginnen?

Dies ist auf OS X Lion.

Antwort1

Über find() wählst Du alle Dateien aus type f, die nicht ( !) mit der Jahreszahl 2012 beginnen "2012*". rmDiese entfernst Du dann entweder direkt oder überlässt deletedies dem Schalter.

find . -type f ! -name "2012*"

Beachten Sie, dass dies rekursiv in Unterverzeichnisse absteigt. Wenn Sie sicher sein möchten, dass Sie nichts entfernen, was Sie eigentlich behalten möchten, achten Sie darauf, die richtigen Optionen zu verwenden (weitere Informationen finden Sie hier man find).

Beispielsweise -maxdepth 1wird nicht in Unterverzeichnisse gewechselt.

Entfernen Sie jetzt diese Dateien:

find . -type f ! -name "2012*" -delete

verwandte Informationen