shell - 在awk中,如何在打印$2时忽略错误行,但错误行中不存在$2

标签 shell awk printing

我有一个具有以下格式的文本文件 (xxx.txt):

kw1 kw2 kw3 kw4
kw1 kw2 kw3 kw4
...

但有时,线路会出现异常,如下所示:

kw1 

我的 shell 命令是

cat xxx.txt|awk '{ print $2;print $3}'

如何忽略异常行,并继续打印?

最佳答案

我建议:

awk 'NF>=3{print $2;print $3}' xxx.txt

NF: The number of fields in the current input record.

参见:8 Powerful Awk Built-in Variables – FS, OFS, RS, ORS, NR, NF, FILENAME, FNR

关于shell - 在awk中,如何在打印$2时忽略错误行,但错误行中不存在$2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65912528/

相关文章:

mysql - 请解释一下这个 Shell 管道魔法 (... | tee >(tail -c1 >$PULSE) | bzip2 | ...) 是如何工作的?

linux - 从子文件中的母文件中搜索一个数字,并将子文件中的完整行追加到母文件中

bash - 如何在文件的第二个字段上做基本名称并将其替换为行

c++ - 将文本转换为 HPGL(绘图仪) vector 坐标

java - 一个链表打印,但另一个非空链表不打印 : Revised and expanded

linux - Bash Shell 脚本 - 检查标志并获取其值

Python - 打开新的 shell 并运行命令

bash - 如何在交互式 shell 脚本中使 "echo"ed 行可编辑?

linux - 使用 awk 检查来自不同行的变量

css - nth-child() 不显示在打印媒体中