使用awk打印带双引号的行

时间:2013-06-05 19:11:16

标签: shell unix awk

输入文件:

line1 column1  column2 column3 column4 
line2 "column1"  column2 column3 column4
line3 column1  column2 column3 column4
line4 column1  "column2 column3" column4
line5 column1  column2 column3 column4

使用awk需要的输出:

line2 "column1"  column2 column3 column4
line4 column1  "column2 column3" column4

所以基本上我需要使用awk显示所有带双引号的行: 我的命令失败 awk'NF {$ 0 =“”}'inputfile.txt

2 个答案:

答案 0 :(得分:6)

NF检查字段数。你可能需要:

awk '/"/' inputfile.txt

默认操作是打印该行;该模式在该行的任何位置查找双引号。或者,改为使用grep '"' inputfile.txt

答案 1 :(得分:5)

如果您只想匹配文件中的行,则应首先使用grep

$ grep '"' file
line2 "column1"  column2 column3 column4
line4 column1  "column2 column3" column4

等同于awk

$ awk '/"/' file
line2 "column1"  column2 column3 column4
line4 column1  "column2 column3" column4