我想在 Linux 上建立hal-01
目錄hal-30
。有沒有一個指令可以做到這一點?
答案1
您可以使用以下命令:(mkdir hal-{01..30}
至少如果您使用支援這種形式的字串擴展的 shell(bash 支援))。
解釋一下它的作用:
$ echo {01..30}
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
正如您所看到的,它{01..30}
擴展到了許多參數。如果你的花括號也出現在字串中,這將會起作用:
$ echo hal-{01..30}
hal-01 hal-02 hal-03 hal-04 hal-05 hal-06 hal-07 hal-08 hal-09 hal-10 hal-11 hal-12 hal-13 hal-14 hal-15 hal-16 hal-17 hal-18 hal-19 hal-20 hal-21 hal-22 hal-23 hal-24 hal-25 hal-26 hal-27 hal-28 hal-29 hal-30
現在 mkdir 接受許多參數,並將為每個參數建立目錄。因此,如果您使用mkdir
而不是,您會得到您所要求的echo
。
答案2
使用大括號擴展,如下所示:
mkdir hal-{01..30}
答案3
mkdir ~/example/folder{1..30} 如果你想要 30
答案4
您也可以用於seq(1)
此目的,例如:
mkdir $(seq --format="~/example/folder/HAL-%02.0f" 1 30)
可以做其他事情,例如不同的步驟等等。由於某些難以理解的原因,它使用浮點數(!?)進行計算,printf(3)
必須相應地調整類似格式。即使對於不進行時髦擴展的普通 shell,這也適用。