如果第四个字段为0,则仅打印该行的第二个字段。使用awk命令。

3
如果第四个字段不是0(零),则如何仅通过awk打印$2。
line="root     13246 11314  457 15: qsRw -m1"

然后awk将打印13246,但如果
line="root     13246 11314  0 15: qsRw -m1"

如果这样,awk将不会打印任何内容。

2个回答

12
awk '$4!=0{print $2}' file
或者只是
awk '$4{print $2}' file

awk的语法是

awk '/pattern/{action}' file

"pattern"部分实际上是隐含的"if"控制流结构,因此您可以省略放置"if"关键字。


2
严谨来说,语法应该是awk '条件 {操作}',而/模式/则是一个真/假条件。 - glenn jackman
1
也就是说,/pattern/ 只是 condition 的一种形式,而不是在此处给出的前两个示例中使用的相同形式(它们正好做到了提问者所要求的)。 - dubiousjim

8
awk '{if ($4) print $2;}' < inputfile

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