Suchen und kopieren Sie bestimmte Dateitypen von einem Verzeichnis in ein anderes
Meine externe Festplatte ist ein Chaos. Ja, weil ich alle Dateien in einem einzigen Verzeichnis abgelegt habe. Ich war einfach zu faul, Dateien und Ordner in der richtigen Reihenfolge zu organisieren. Die Suche nach einer bestimmten Datei dauerte länger. Deshalb dachte ich, es wäre viel besser, wenn ich bestimmte Dateitypen in separaten Verzeichnissen organisieren würde. Ich habe beschlossen, für jeden Dateityp Ordner zu erstellen und die Dateien in den entsprechenden Ordnern zu speichern. Angenommen, alle Mediendateien (Audio und Video) sollten in einem Verzeichnis namens Multimedia abgelegt werden, Bilddateien im Ordner Bilder und offizielle Inhalte in einem Ordner namens ostechnix.
Allerdings ist das manuelle Suchen und Kopieren jedes einzelnen Dateityps eine mühsame und recht zeitaufwändige Aufgabe. Wenn Sie über eine große Anzahl von Dateien verfügen, kann es Stunden dauern, alle Dateien zu finden und zu kopieren. Also habe ich schnell eine Google-Suche durchgeführt und eine passende Lösung gefunden. Wenn Sie unter Linux und Unix-ähnlichen Betriebssystemen schon immer bestimmte Dateitypen von einem Verzeichnis in ein anderes kopieren wollten, finden Sie hier eine Möglichkeit. Es gibt viele Möglichkeiten, dies zu tun, aber ich habe festgestellt, dass die folgende Methode einfach und einfach zu befolgen ist.
Suchen und kopieren Sie bestimmte Dateitypen von einem Verzeichnis in ein anderes unter Linux
Wir werden den Befehl „find“ verwenden, um Dateien zu organisieren. Der Find-Befehl ist auf den meisten Unix-ähnlichen Distributionen vorinstalliert, also machen wir uns nicht die Mühe, ihn zu installieren. In diesem Leitfaden werde ich zeigen, wie Sie MP3-Dateien schnell finden und aus einem Verzeichnis namens test1 in ein anderes Verzeichnis namens test2 kopieren können.
Lassen Sie uns den Inhalt des Testverzeichnisses überprüfen.
ls /home/sk/test1
Beispielausgabe:
'Bombay Rockers.mp3' 'Marconi Union - Sleepless.mp3' wiua9.jpg
books.txt Maruvaarthai.mp3
Wie Sie im obigen Ergebnis sehen können, befinden sich im Verzeichnis test1 drei MP3-Dateien. Kopieren wir diese MP3-Dateien in das Verzeichnis test2. Gehen Sie dazu mit dem folgenden Befehl in das Verzeichnis test1:
cd /home/sk/test1/
Führen Sie dann den folgenden Befehl aus, um alle Dateien zu finden und zu kopieren, die mit der Erweiterung .mp3 übereinstimmen.
find -iname '*.mp3' -exec cp {} /home/sk/test2/ \;
Lassen Sie uns den obigen Befehl aufschlüsseln und sehen, was jede Option bewirkt.
- find – Dies ist der Befehl zum Suchen von Dateien und Ordnern in Unix-ähnlichen Systemen.
- -iname '*.mp3' – Suche nach Dateien mit der Erweiterung .mp3.
- -exec cp – Fordert Sie auf, den Befehl „cp“ auszuführen, um Dateien vom Quell- ins Zielverzeichnis zu kopieren.
- {} – wird automatisch durch den Dateinamen der Dateien ersetzt, die mit dem Befehl „find“ gefunden wurden.
- /home/sk/test2/ – Zielverzeichnis zum Speichern der passenden Dateien.
- \; – Zeigt an, dass die auszuführenden Befehle nun abgeschlossen sind und dass der Befehl beim nächsten Treffer erneut ausgeführt werden soll.
Klar? Gut! Lassen Sie uns nun das Verzeichnis test2 überprüfen, um sicherzustellen, dass die Dateien ordnungsgemäß kopiert wurden.
ls /home/sk/test2
Beispielausgabe wäre:
'Bombay Rockers.mp3' Maruvaarthai.mp3
'Marconi Union - Sleepless.mp3'
Wie Sie sehen können, wurden alle Dateien mit der Erweiterung .mp3 vom Verzeichnis test1 in das Verzeichnis test2 kopiert. Ebenso können Sie andere Dateitypen wie oben beschrieben in andere Verzeichnisse Ihrer Wahl kopieren.
Der obige Befehl kopiert alle *.mp3-Dateien aus dem Quellverzeichnis und seinen Unterverzeichnissen. Wenn Sie das nicht möchten, verwenden Sie das Flag -max Depth. Der folgende Befehl kopiert beispielsweise alle MP3-Dateien nur aus dem Quellverzeichnis, nicht jedoch aus seinen Unterverzeichnissen.
find -maxdepth 1 -iname '*.mp3' -exec cp {} /home/sk/test2/ \;
Auf diese Weise können Sie viel Zeit sparen, wenn Sie einen bestimmten Dateityp finden möchten. Dieser Trick kann hilfreich sein, wenn Sie große Mengen unterschiedlicher Dateitypen von einem Verzeichnis in ein anderes übertragen müssen.
Verwandte Lektüre:
- Kopieren Sie bestimmte Dateitypen und behalten Sie dabei die Verzeichnisstruktur in Linux bei
Weitere Einzelheiten finden Sie in den Manpages.
man find
Es gibt auch ein Skript namens 'Classifier', das Ihre Dateien automatisch basierend auf der Dateierweiterung in verschiedenen Verzeichnissen organisiert. Weitere Details finden Sie im unten angegebenen Link.
- So organisieren Sie automatisch ähnliche Dateitypen in bestimmten Ordnern
Hoffe das hilft.