Es kann nicht so viele Dateiendungen geben, oder? Zumindest ist es eine endliche Zahl. Ich finde, dass diese Aufgabe für die Arbeit am Terminal hervorragend geeignet ist.
Abgesehen von den üblichen Erweiterungen
- .avi
- .mpg / .mpeg
- .wmv
- .mov
- .mkv
- .flv
Bei einer Groß- und Kleinschreibung können Sie die restlichen Videodateien wahrscheinlich schätzen, indem Sie nach allen Dateien suchen, die eine bestimmte Größe überschreiten. Möglicherweise werden einige übliche Nicht-Video-Verdächtige wie z
- .rar
- .Postleitzahl
- .gz
- .mp3
- .flac
- .doc
usw. zur Klarheit und Verfeinerung dieser Liste, wenn Sie mehr Probleme finden.
Ich würde also iterativ z
find /my/drive -not -iregex '.*\.\(avi\|mpe?g\|wmv\|mov\|mkv\|flv\|rar\|zip\|gz\|mp3\|flac\|pdf\|doc\)' -type f -size +10M
Weitere Dateiendungen finden, die möglicherweise Videos sind, und sie zur Videoerweiterungsliste hinzufügen.
Dies sollte nicht viele Läufe dauern (wahrscheinlich nur einen) und wäre schnell, da die Einträge nach dem ersten Lauf zwischengespeichert werden.
Sobald die Dateiendungen gesammelt wurden, können Sie alle Videodateien anhand Ihrer verfeinerten Erweiterungsliste suchen:
find /my/drive -iregex '.*\.\(avi\|mpe?g\|wmv\|mov\|mkv\|flv\)' -type f
Sie können jetzt direkt auf diesem Befehl aufbauen und Aktionen für alle Dateien gleichzeitig ausführen, z. B. an einen anderen Speicherort verschieben oder einfach auflisten oder was Sie tun möchten. Vielleicht erledigen Sie einfach manuell Sachen, nachdem Sie ihre Standorte bekannt gemacht haben.
Es gibt kompliziertere Lösungen, die den Inhalt aller Dateien testen würden, z. B. das file
Dienstprogramm in Kombination mit find
und dann grep
: das Ergebnis für Videodateien, aber es wäre um viele Größen langsamer. Das Erraten von Dateinamenerweiterungen ist ein gröberes Netz, trifft jedoch wahrscheinlich alle Dateien.