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" --