shell脚本循环遍历direcctory中的一些文件

时间:2017-04-03 16:15:01

标签: bash shell file unix

我有一个充满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*部分。

1 个答案:

答案 0 :(得分:1)

正确的语法可能如下......

for File in "${data_dir}2017*_${i}.csv"
do
# some commands...
done

您只需要引用孔文件,bash将处理WildCard *, 我还添加了大括号{ }以将变量与其余变量分开。