我有一个包含大约 5000 张图像的目录,我想将其拆分/移动到 50 个文件夹(需要创建)中,每个文件夹有 100 张图像。
有没有办法使用终端来做到这一点?
我正在运行 OS X。
我有一个包含大约 5000 张图像的目录,我想将其拆分/移动到 50 个文件夹(需要创建)中,每个文件夹有 100 张图像。
有没有办法使用终端来做到这一点?
我正在运行 OS X。
i=0; for f in *; do d=dir_$(printf %03d $((i/100+1))); mkdir -p $d; mv "$f" $d; let i++; done
awk one-liner 可以做到这一点。考虑这个 awk 命令:
find . -name "*.JPG" | awk '!(++cnt%100) {"mkdir sub_" ++d|getline}'
在包含 5000 张图像的文件夹中运行它。这将创建 50 个文件夹,名称分别为 sub_1、sub_2...sub_50。
还将文件移动到这些新创建的目录中:
find . -type f | awk '{
a[++cnt] = $0
}
cnt==100 {
subd = "sub_" ++d;
system("mkdir " subd);
for (f in a)
system("mv " a[f] " " subd);
cnt=0
}'