Jul 13
Wenn in einem Ordner eine große Anzahl von Dateien liegt, verweigern cp, mv usw. ihren Dienst mit der Meldung:
$ mv *.png ../target/ bash: /bin/mv: Argument list too long
Abhilfe schafft find mit dem Parameter exec:
find . -name "*.png" -exec mv {} ../target/ \;
Der Nachteil der find-Methode mit dem Parameter exec ist, dass für jede Datei der Befehl in exec ausgeführt wird. Performanter ist hingegen xargs, das die übergebene Liste in kleinere Listen aufteilt, sodass diese dann von cp, mv, etc. noch verarbeitet werden können:
find . -name "*.png" | xargs -0 mv -t ../target/
Verwandte Beiträge
- OpenDNS auf Thomson TG585 v7
- TYPO3 CLI (Command Line Interface) oder Cronjobs mit TYPO3
- .svn-Ordner rekursiv löschen
- TextMate vom Terminal starten
- Mehrere Skype-Accounts unter OS X
Recent Comments