Dateien suchen, die nur einen Dateityp sind...

B

Buchinho

Kleine Frage, wie kann ich Dateien, die keinen bestimmten Dateityp besitzen, löschen.

Z.B. suche ich in einem Ordner nach allen Dateiformaten JPG, alle anderen sollen gelöscht werden.

find / -name *.JPG und wie gehts weiter?
 
wie waere es mit:
/bin/bash schrieb:
mkdir backup/
mv *.jpg backup/
mv *.JPG backup/
rm *
mv backup/* ./
rm -r backup/
das erstellt den ordner backup/, schiebt alle .jpg's und .JPG's darein, dann loescht es alles in dem ordner wo du alles ausser die jpg's loeschen willst und schiebt die jpg's zurueck, und dann noch loescht es den leeren backup ordner(aufpassen: jPg's JPg's etc sind dadurch NICHT gesichert)
Keine Garantie darauf :)
 
Zuletzt bearbeitet:
Oder Du verneinst den ausdruck mit
Code:
find ./ -not -name "*.JPG"
 
Und für den Fall, dass sowohl *.JPG als auch *.jpg in dem Verzeichnis sind:

Code:
find . -mindepth 1 -type f -not -iname "*.JPG" -print0 | xargs -0 rm

Gruss, Xanti

edit: find findet alles rekursiv im Verzeichnis, also auch in Unterverzeichnissen. Um das zu vermeiden:

Code:
find . -type f -mindepth 1 -maxdepth 1 -not -iname "*.JPG" -print0 | xargs -0 rm
 
Zuletzt bearbeitet:

Ähnliche Themen

Wie vom Script verwendete Befehle ermitteln um sie bei Bedarf nach zu installieren?

wget: Lädt bestimmte Dateitypen nicht

rsync Übertragung von Dateien zwischen zwei Servern

Samba 3.6.25 - OpenLDAP Setup

Keine grafische Oberfläche (Debian Installation)

Zurück
Oben