使用awk打印文件名和列名

9
我希望选择第8行的第23、24和27列。
以下是我尝试过的方法。
awk 'FNR == 8 {print $23,$24,$37}' file.txt

它完美地工作着。 然而,我想知道如何将相应的文件名添加为$0。

然后,输出应该像这样:

file.txt colunm23 colunm24 colunm 27     <---- The 8th row.    

我没有使用gawk,请根据gawk 4.0.0之前的版本进行建议。谢谢。

2个回答

17

使用FILENAME变量:

awk 'FNR == 8 {print FILENAME,$23,$24,$37}' file.txt

-2

awk 'FNR == 8 {print $23,$24,$37}' file.txt

的意思是从 file.txt 文件中读取第 8 行的第 23、24 和 37 列并打印输出。

1
请提供一个解释,避免只给出代码的答案。 - Itération 122442

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接