Ubuntuで単一のコマンドでフォルダ00-99を作成する方法は?


16

00から99 (00、01、02、03など)で始まるフォルダーを数百か所に作成する必要があります。それを可能にする単一の行コマンドはありますか?

回答:


45

mulazの答えは正しいですが、多くの人は、seqほとんどのシェルで次のことができるので邪悪だと言います

mkdir {00..99}

ただし、一部の古いバージョンのbashでは0-9arentが埋め込まれているため、

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

9
+1は受け入れられた答えである必要があります。この慣用的なBashだけでなく、外部プログラム(これはseqです)を使用する必要もありません。
トロールホーン

1
これがどのように行われるべきかです。
phoxis

7
以下も機能します:> mkdir {0..9} {0..9}
Orieg

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:はい、できます:(mkdir `seq -w 0 99` 余分なスペースを避けられませんでした)。ここを参照してください。ただし、区切り文字にスペースを含めるトリックはここでは機能しないようです。
キーストンプソン

2
@Patrickバッククォートは悪いです:mywiki.wooledge.org/BashFAQ/082
アンドリュー

@Andrewはい、私はそのことを知っていますが、私が返信するものは何でもコーディングスタイルにとどまることを好みます。
パトリック

2

私はこれが古いことを知っていますが、私の推奨事項は次のとおりです。

for iでseq -f %02g 0 99; mkdir $ iを実行します。やった

-f%02gを使用すると、00または99などの少なくとも2文字が維持され、99を超える3文字の数字を引き続き使用できるため、100を持っている場合は001になりません。001- -wのような100。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.