如何在Ubuntu中使用单个命令将文件夹设置为00-99?


17

我需要在数百个地方创建从00到99 (00、01、02、03等)的文件夹。有没有一行命令可以让我做到这一点?

Answers:


46

穆拉兹的答案是正确的,但很多人说这seq是邪恶的,因为大多数贝壳会让你做以下事情

mkdir {00..99}

但是,在某些较旧的bash版本中,0-9arent会被填充,因此您必须

mkdir 0{0..9} {10..99}

9
+1应该是公认的答案恕我直言。这个惯用的Bash不仅需要,而且不需要使用外部程序(seq是)。
Trollhorn 2012年

1
这是应该做的。
phoxis 2012年

7
以下内容也适用:> mkdir {0..9} {0..9}
Orieg 2012年

17

这样可以吗

for i in `seq -w 0 99`; do mkdir $i; done

对数字0-99进行循环,“-w”设置等宽(0-9填充为0)


7
seq -w 0 99 | xargs mkdir也会做的工作。
杰伊

11
您可以放弃循环而已mkdir $(seq -w 0 99)或使用反引号代替$(),但由于serverfault语法而无法放入反引号。
Patrick

@Patrick:是的,您可以:(mkdir `seq -w 0 99` 我无法避免多余的空间)。参见此处,但看来在分隔符中包含空格的技巧在这里不起作用。
基思·汤普森

2
@Patrick反引号很糟糕:mywiki.wooledge.org/BashFAQ/082
Andrew

@Andrew是的,我知道这一点,但是我更喜欢保持答复方式的编码风格。
Patrick

2

我知道这很旧,但是我的建议是:

因为我在seq -f %02g 0 99; 做mkdir $ i; 做完了

-f%02g确保它至少保留两个字符,例如00或99,并且仍然允许3个字符数字超过99,因此,如果您有100,它将不会变为001。它将是00-99 100,而不是001- -w这样的100。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.