使用awk打印带双引号的行

Zer*_*g12 1 unix shell 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
Run Code Online (Sandbox Code Playgroud)

使用awk需要的输出:

line2 "column1"  column2 column3 column4
line4 column1  "column2 column3" column4
Run Code Online (Sandbox Code Playgroud)

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

Jon*_*ler 6

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

awk '/"/' inputfile.txt
Run Code Online (Sandbox Code Playgroud)

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


Chr*_*our 5

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

$ grep '"' file
line2 "column1"  column2 column3 column4
line4 column1  "column2 column3" column4
Run Code Online (Sandbox Code Playgroud)

同等地awk:

$ awk '/"/' file
line2 "column1"  column2 column3 column4
line4 column1  "column2 column3" column4
Run Code Online (Sandbox Code Playgroud)