如何迭代bash中包含多个动态变量的文件列表

时间:2018-02-13 15:48:40

标签: linux bash scripting

我从AWS S3获取日志类型信息以进行处理。 我已经设置了一个脚本来抓取本周的每组日志,并以file1,file2等格式将其带到我的脚本 - 这些被丢弃,因此名称并不重要。 然后,我在前几周进行了比较以进行更改。 我在循环中调用文件名时遇到问题:

filename1="information set bla bla (info1)"
filename2="information set bla bla (info2)"
for i in 1 2; do
  echo $filename$i
done

1 个答案:

答案 0 :(得分:1)

似乎是数组的用例。

filenames=(
  "information set bla blank (info1)" 
  "information set bla blank (info1)"
)

for f in "${filenames[@]}"; do
    echo "$f"
done

如果由于某种原因确实需要整数i,则可以迭代数组索引:

for i in "${!filenames[@]}"; do
  echo "$i: ${filenames[i]}"
done