在Unix中按文件夹中的100个文件拆分文件

时间:2015-05-11 06:10:52

标签: macos shell unix

我正在尝试将10000个文件的文件夹拆分为多个文件夹,每个文件夹包含100个文件,每个文件夹位于同一文件夹这将是一个剪切操作,但不是复制操作。我尝试了一个命令但是计算文件夹以及100个文件的一部分。

命令我试过:

➜  ~  mv -- *([1,100]) ~/Downloads/Pics/<FolderCount>

这里我每次都要创建一个文件夹。我很乐意为序列中的文件夹列表或任何随机文件夹名称创建所有新文件夹。

1 个答案:

答案 0 :(得分:2)

也许这样 - 但是测试你文件的COPY。如果您喜欢它的作用,请删除echo这个词 - 此刻它只会说它会做什么......

#!/bin/bash
ns=0   # number ofsubdirectory
nf=0   # number of files moved

# Loop through all files
for f in *; do
   # Skip subdirectories
   [ -d "$f" ] && continue

   # Generate subdirectory name and create it, if necessary
   sub="sub-$ns"
   [ ! -d "$sub" ] && mkdir $sub 

   # Move file and count
   echo mv "$f" "$sub"
   ((nf++))

   if [ $nf -eq 100 ]; then
      ((ns++))         # start new subdirectory
      nf=0             # zero filecount
   fi
done
相关问题