在文件名中使用count变量

Ste*_*lis 9 variables bash loops

我有一个快速的问题.我只是想知道它是否是有效的格式(使用bash shell脚本)来为文件名中的循环设置一个计数器.我正在思考以下问题:

for((i=1; i <=12; i++))
do
  STUFF
  make a file(i).txt
Run Code Online (Sandbox Code Playgroud)

Mic*_*man 9

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

for ((i=1; i<=12; i++)); do
   filename="file$i.txt"
   touch "$filename"
done
Run Code Online (Sandbox Code Playgroud)

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

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

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


Pau*_*ce. 5

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

touch file{1..12}.txt
Run Code Online (Sandbox Code Playgroud)

将使它们全部在一个命令中.

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

touch file{01..12}.txt
Run Code Online (Sandbox Code Playgroud)