我有一个充满csv文件的目录,在运行时我将生成一些中间csv文件。我想只迭代原始文件,而不是在运行时生成的文件。最初的那些以" 2017"开头,所以我想到了以下几点:
for FILE in "$data_dir"2017*_"$i".csv;
其中$ i来自迭代此文件名中的潜在字符串数组。但是,即使我希望结果如下:
20170301_file1.csv 20170301_file2.csv 20170301_file3.csv 20170302_file1.csv
等,echo
上的$FILE
返回:
2017*_file1.csv
2017*_file2.csv
2017*_file3.csv
我不确定如何更改 for 语句的2017*
部分。
答案 0 :(得分:1)
正确的语法可能如下......
for File in "${data_dir}2017*_${i}.csv"
do
# some commands...
done
您只需要引用孔文件,bash
将处理WildCard *
,
我还添加了大括号{ }
以将变量与其余变量分开。