我使用以下命令从table1.txt
中提取第二列并输出为output1.txt
awk '{ print $2 }' table.txt > output.txt
如何对五个文件(table.txt
,abc.txt
,pqr.txt
,skt.txt
,mkt.txt
)使用循环来提取相应输出文件中的第二列( out_table.txt
,out_abc.txt
,out_pqr.txt
,out_skt.txt
,out_mkt.txt
)?
答案 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