web-dev-qa-db-ja.com

連番付きのディレクトリの作成

'file001'のような名前の同一のディレクトリのシーケンスを1から512まで順番に作成しようとしています。シェルで次のコマンドを実行しています。

for i in $(seq 001 512):
    do
        mkdir file$i
    done

これにより512個のディレクトリがすべて作成されますが、「file001」、「file002」などではなく、「file1」、「file2」...というラベルが付けられています。誰かが私が必要とする方法でフォルダを作成する他の方法を提案できますか?

1
AMC

代わりにこれを試してください:

mkdir file{001..512}
3
maulinglawns

いずれかを使用してください

for num in $(seq -w 001 512); do
    mkdir "file$num"
done

または、bashリリース4.0以降(つまり、macOSのデフォルトのbashではない)では、

mkdir file{001..512}

古いbashで、seqが使用できない場合:

for num in {1..512}; do
    mkdir "file$( printf '%03d' "$num" )"
done
1
Kusalananda

ループは必要ありません。これを試して :

mkdir `echo file{001..512}`

コメントで指摘されているように:

コマンド置換やエコーは必要ありません。

したがって、ブレース拡張はタスクを達成するのに十分です:

mkdir file{001..512}
0
C0deDaedalus