Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
awk获取特定行和特定字段_Awk_Row_Line - Fatal编程技术网

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的帮助。我的目标是从第七行中取出一堆线,在第七行中取出第五个字段。 在阅读了一些关于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:  'NR~/^(7|8)$/ {print $5}' file

您得到了什么结果?
OFS
是输出字段分隔符。您可能需要指定
FS
,它是输入字段分隔符。我的第一个版本说“意外的syntaxerror`NR',因此NR在某种程度上是未知的。这里的第一个建议听起来确实不错,但我的特定行中的一些小细节总是需要改变的。但非常感谢。顺便说一句,我想要输出字段分隔符,因为默认情况下有空格作为字段分隔符。伙计,这一个看起来更聪明,尽管我需要解释一下/^,这意味着第一个数字,$可能意味着行?我猜这就是它的意思。@Andrew
^
表示一些的开始,而
$
表示一些的结束。在这种情况下,
NR
的开始和结束。因为我使用
~
(确实包含),所以我需要设置边框。Eks
NR==“7”
只给出
NR
相等的
7
,而
NR~/7/
将点击
7
17``5764
等,而
NR~/^7$//code>只点击
7
非常感谢,这很有说服力。