Mögliches Duplikat:
Wie verschiebt man 100 Dateien aus einem Ordner mit Tausenden?
Ist es möglich, nur die ersten 1000 Dateien von einem Verzeichnis in ein anderes zu kopieren?
Vielen Dank im Voraus
Akzeptierte Antwort:
Im Folgenden werden die ersten 1000 Dateien, die im aktuellen Verzeichnis gefunden werden, nach $destdir
kopiert . Die tatsächlichen Dateien hängen jedoch von der Ausgabe ab, die von find
zurückgegeben wird .
$ find . -maxdepth 1 -type f |head -1000|xargs cp -t "$destdir"
Sie benötigen die GNU-Implementierung von cp
für -t
, ein GNU-kompatibles find
für -maxdepth
. Beachten Sie auch, dass davon ausgegangen wird, dass Dateipfade keine Leerzeichen, Zeilenumbrüche, Anführungszeichen oder Backslashes (oder ungültige Zeichen oder bei einigen xargs
länger als 255 Byte enthalten Implementierungen).
BEARBEITEN: Um Dateinamen mit Leerzeichen, Zeilenumbrüchen, Anführungszeichen usw. zu handhaben, möchten Sie möglicherweise auf Null endende Zeilen verwenden (vorausgesetzt, eine Version von head
das hat den -z
Option):
find . -maxdepth 1 -type f -print0 | head -z -n 1000 | xargs -0 -r -- cp -t "$destdir" --