来自不同目录的多个文件作为awk的输入

时间:2013-12-10 04:21:09

标签: linux bash shell awk

我有不同的文件具有相同的文件名,它们存储在不同的目录中,例如

/path/to/2000/{a,b,c}.txt ... /path/to/2001/{a,b,c}.txt

因为我想使用变量来表示像

这样的目录
/path/to/{1998..2013}/{a.b.c}.txt

如何将目录名称参数化为

输入
awk '....' /path/to/{$start..$end}/{a,b,c}.txt

请注意,由于awk脚本同时需要来自这些文件的所有信息,因此无法将所有目录循环到awk中逐个输入文件。 thx求助。

1 个答案:

答案 0 :(得分:0)

您可以使用eval:

eval awk '...' /path/to/{$start..$end}/{a,b,c}.txt

或者找到和xargs,但它不那么准确:

find /path/to -path '*/[21][90][09][0-9]/[abc].txt' | xargs awk '....'