创建大量文件夹/目录范围或块?

创建大量文件夹/目录范围或块?

[编辑以反映下面的答案]

我正在寻找一种从命令行或脚本创建文件夹/目录块的方法,该脚本将生成一个标题为“200000-209999”的顶级文件夹,然后在该文件夹内,子文件夹的名称如下:

200000-200499
200500-200999
201000-201499
... etc ...
... etc ...
208500-208999
209000-209499
209500-209999

命名的间隔如您所见,然后我想设置下一批顶级/子文件夹,“210000-219999”,“220000-229999”等。

[编辑]

我根据下面的答案想出了以下脚本来完成我正在寻找的内容。我的添加可能不是优雅的脚本,所以如果可以改进,请告诉我。

#!/bin/bash
#
# mkfolders.sh
#
#    Ask user for starting range of job #'s and create the subsequent
#    folder hiearchy to contain them all.
#
###

clear
read -p 'Starting Job# in range: ' jobnum
mkdir "${jobnum}"-"$((jobnum + 9999))"
for start in $(seq $jobnum 500 $((jobnum+9999))); do mkdir "${jobnum}"-"$((jobnum + 9999))"/"${start}"-"$((start + 499))"; done
echo
echo Done!
echo

答案1

seq实用程序是生成数字的一种方法:

for start in $(seq 200000 500 209000); do mkdir "${start}"-"$((start + 499))"; done

语法是seq start increment end.

答案2

简单的 shell 方法是这样的:

$ i=200000; while [ "$i" -ne 210000 ];do  echo ${i}-$((i+499)); i=$((i+500)); done

替换echomkdir以创建实际文件夹。此循环应在您打算放置文件夹的目录中执行,因此请先确保您cd在那里。

相关内容