Možný duplikát:
Jak přesunout 100 souborů ze složky obsahující tisíce?
Je možné zkopírovat pouze prvních 1000 souborů z jednoho adresáře do jiného?
Předem děkuji
Přijatá odpověď:
Následující zkopíruje prvních 1000 souborů nalezených v aktuálním adresáři do $destdir
. Ačkoli skutečné soubory závisí na výstupu vráceném find
.
$ find . -maxdepth 1 -type f |head -1000|xargs cp -t "$destdir"
Budete potřebovat GNU implementaci cp
pro -t
, find
kompatibilní s GNU pro -maxdepth
. Také si uvědomte, že předpokládá, že cesty k souborům neobsahují mezery, nový řádek, uvozovky ani zpětná lomítka (nebo neplatné znaky nebo jsou delší než 255 bajtů s některými xargs
implementace).
UPRAVIT: Chcete-li zpracovávat názvy souborů s mezerami, novými řádky, uvozovkami atd., možná budete chtít použít řádky ukončené nulou (za předpokladu verze head
který má -z
možnost):
find . -maxdepth 1 -type f -print0 | head -z -n 1000 | xargs -0 -r -- cp -t "$destdir" --