2017-09-02 35 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