如何在awk中使用循环

时间:2013-08-01 21:10:17

标签: linux unix awk

我使用以下命令从table1.txt中提取第二列并输出为output1.txt

awk '{ print $2 }' table.txt > output.txt

如何对五个文件(table.txtabc.txtpqr.txtskt.txtmkt.txt)使用循环来提取相应输出文件中的第二列( out_table.txtout_abc.txtout_pqr.txtout_skt.txtout_mkt.txt)?

2 个答案:

答案 0 :(得分:4)

你不需要在awk中写一个循环。您可以使用内置变量FILENAME

awk '{print $2 > "out_"FILENAME".txt"}' table.txt abc.txt pqr.txt skt.txt mkt.txt

答案 1 :(得分:3)

使用FILENAME变量将相应的输出文件名用于输入文件:

awk '{ print $2 > "out_" FILENAME }' *.txt