11

我有一个快速的问题。我只是想知道在文件名中有一个循环计数器是否是有效格式(使用 bash shell 脚本)。我在想一些事情:

for((i=1; i <=12; i++))
do
  STUFF
  make a file(i).txt
4

2 回答 2

9

这是一个快速演示。该touch命令更新文件的最后修改时间,如果不存在则创建它。

for ((i=1; i<=12; i++)); do
   filename="file$i.txt"
   touch "$filename"
done

您可能希望在$i只有一位数字的情况下添加前导零:

for ((i=1; i<=12; i++)); do
   filename="$(printf "file%02d.txt" "$i")"
   touch "$filename"
done

这将导致file01.txt,file02.txt等,而不是file1.txt, file2.txt

于 2012-06-22T18:34:05.180 回答
7

如果您只想制作一堆文件并且不需要循环执行其他任何操作,则可以完全跳过循环:

touch file{1..12}.txt

将它们全部集中在一个命令中。

如果你有 Bash 4,你可以像这样得到前导零:

touch file{01..12}.txt
于 2012-06-22T22:31:42.650 回答