该命令看起来与您想要执行的操作不太接近。xargs可以提供帮助,但使用起来很麻烦,除非您知道文件名不包含任何空格或引号字符。这是一个 shell 循环,它将文件分派到新创建的子目录中,每个目录 90 个。
set -- *
# Set args to "$1" "$2" ... "$90"
i=1 args=
while [ $i -le 90 ]; do
slice="$slice \"\${$i}\""
i=$((i+1))
done
# Move files 90 at a time
i=0
while [ $# -ge 90 ]; do
mkdir part$i
eval "mv $slice part$i"
shift 90
done
# 0 to 89 files remain in the current directory
Run Code Online (Sandbox Code Playgroud)