在文件名中使用count变量

时间:2012-06-22 18:25:01

标签: bash loops variables

我有一个简单的问题。我只是想知道它是否是有效的格式(使用bash shell脚本)来为文件名中的循环设置一个计数器。我想的是:

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

2 个答案:

答案 0 :(得分: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.txtfile02.txt等,而不是file1.txtfile2.txt

答案 1 :(得分:5)

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

touch file{1..12}.txt

将在一个命令中完成所有操作。

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

touch file{01..12}.txt