Shell
如何移動前 x 個文件
我有這個包含數千個無序文件的巨大文件夾。通過命令將前 5000 個移動到子文件夾是否可行
mv
?現在我移動文件mv *some_pattern* ./subfolder1/
至於現在,我非常隨機地移動圖像,如果每個子文件夾中不完全有 5000 個文件,這並不重要。有更好的方法嗎?
mv `ls | head -500` ./subfolder1/
With
zsh
及其glob 限定符:mv -- *(D.oN[1,5000]) ./subfolder1
按目錄中的順序移動最多 5000 個正常文件。
對於按字典順序排序的列表中的前 5000 個:
mv -- *(D.[1,5000]) ./subfolder1
如果您收到有關arg list too long的錯誤。您可以通過發出以下命令來使用
zsh
‘buitinmv
命令:zmodload zsh/files
第一的。
POSIXly:
set -- for f in .* *; do [ "$#" -lt 5000 ] || break [ -f "$f" ] || continue [ -L "$f" ] && continue set -- "$@" "$f" done mv -- "$@" subfolder1/