2017-09-02 40 views
0

我有四个文件,并希望在每个文件上运行一个awk代码。但是这个代码不起作用。awk在loopwith不同的文件

我的代码:

for i in "udp-250b.tr" "udp-50b.tr" 
do 
awk ' 
BEGIN { 
    //some code 
} 
{ 
    //some code 
} 
END { 
    //some code 
} ' i 
done 

回答

2

Awk可以使用多个文件无需for

语法会是这样

awk '{ }' file1 file2 file3 

awk '{ }' file* 

在你的情况

awk 'BEGIN{ } { } END{ }' udp-*.tr 

要更正您现有的代码更改

} ' i 

} ' "$i" 
+0

NO,我要为每个文件单独运行代码。如果我有四个文件,我需要四个输出。 –

+0

“awk”{}'file1 file2 file3“这不起作用。获得只有一个(可能合并)输出 –

+1

通过注意,行为会稍有不同 - 在一个循环中,将为每个文件运行BEGIN和END块。将所有三个块放在同一个命令中,块将只运行一次。 OP没有给我们足够的信息来知道他想要的方式。 – Kevin