Shell

如何移動前 x 個文件

  • February 19, 2022

我有這個包含數千個無序文件的巨大文件夾。通過命令將前 5000 個移動到子文件夾是否可行mv?現在我移動文件

mv *some_pattern* ./subfolder1/

至於現在,我非常隨機地移動圖像,如果每個子文件夾中不完全有 5000 個文件,這並不重要。有更好的方法嗎?

mv `ls | head -500` ./subfolder1/

Withzsh及其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/

引用自:https://unix.stackexchange.com/questions/105040