awk获取特定行和特定字段
我需要一些关于awk的帮助。我的目标是从第七行中取出一堆线,在第七行中取出第五个字段。 在阅读了一些关于awk的手册后,我决定这样做,但没有得到我想要的结果。 任何暗示都很好。提前谢谢awk获取特定行和特定字段,awk,row,line,Awk,Row,Line,我需要一些关于awk的帮助。我的目标是从第七行中取出一堆线,在第七行中取出第五个字段。 在阅读了一些关于awk的手册后,我决定这样做,但没有得到我想要的结果。 任何暗示都很好。提前谢谢 awk {OFS=":"};{if (NR == 8) {print $5} else if (NR == 7) {print $5} } ; 它可能是您想要的: awk -F: 'NR==7 || NR==8 {print $5}' file 它将打印第7行和第8行的第五个字段 也可以写成: awk -F
awk {OFS=":"};{if (NR == 8) {print $5} else if (NR == 7) {print $5} } ;
它可能是您想要的:
awk -F: 'NR==7 || NR==8 {print $5}' file
它将打印第7行和第8行的第五个字段
也可以写成:
awk -F: 'NR~/^(7|8)$/ {print $5}' file
您得到了什么结果?
OFS
是输出字段分隔符。您可能需要指定FS
,它是输入字段分隔符。我的第一个版本说“意外的syntaxerror`NR',因此NR在某种程度上是未知的。这里的第一个建议听起来确实不错,但我的特定行中的一些小细节总是需要改变的。但非常感谢。顺便说一句,我想要输出字段分隔符,因为默认情况下有空格作为字段分隔符。伙计,这一个看起来更聪明,尽管我需要解释一下/^,这意味着第一个数字,$可能意味着行?我猜这就是它的意思。@Andrew^
表示一些的开始,而$
表示一些的结束。在这种情况下,NR
的开始和结束。因为我使用~
(确实包含),所以我需要设置边框。EksNR==“7”
只给出NR
相等的7
,而NR~/7/
将点击7
17``5764
等,而NR~/^7$//code>只点击7
非常感谢,这很有说服力。