我想在linux中创建多个目录。
我的位置是/ myhome / docs /
在此我想制作46个文件夹,标签为sample1,sample2,sample3 ... sample46
我该怎么做?
任何人都可以帮我一个简单的脚本吗?
答案 0 :(得分:3)
您可以使用:
mkdir sample{1..46}
使用for循环进行更多控制:
for ((i=1; i<=46; i++)); do mkdir "sample$i"; done
答案 1 :(得分:2)
有点晚 - 但为了好玩,一个集合:
1。)直接方法,正如其他人所说:
mkdir sample{1..46}
它只调用mkdir
的一倍,因为参数扩展发生在执行mkdir
之前。这似乎是一个好主意,但失败了
mkdir sample{1..100000}
错误如:
-bash: /bin/mkdir: Argument list too long
此外,在脚本中使用非常困难,因为您无法执行下一步:
count=46
mkdir {1..$count}
2。)使用for-loop
for((i=1;i<=46;i++))
do
mkdir "sample$i"
done
将适用于任意数量的目录,但效率不高 - 将为每个目录调用mkdir(fork / exec)。
3。)使用seq
for i in $(seq 46)
do
mkdir "sample$i"
done
也可以,但每次都会调用mkdir
,而大数字必须为for
循环分配长参数列表。
4。)seq
seq -f "sample%g" 1000000 | xargs mkdir
只会在最短的时间内调用mkdir
,并且不会在任何目录数上失败。
答案 2 :(得分:1)
试试这个:
mkdir sample{1..46}
就是这样。
答案 3 :(得分:1)
这一定是有用的:
mkdir sample{1..46}
答案 4 :(得分:1)
您也可以尝试以下代码,
for i in $(seq 46); do mkdir "sample$i"; done