我有一个文件,
aaaa
bbbb,cccc
dddd
eeee,ffff
gggg,hhhh
iiii,jjjj
kkkk
我的输出应该是,
aaaa
dddd
kkkk
只有记录中的一个字段...字段分隔符为"," 。
我试过了,
vi test.awk
BEGIN { FS = "[,]+" }
{
if (NF==1) {
key = $0
} print
}
awk -f test.awk source
但不行。请帮忙。
答案 0 :(得分:3)
以下内容应该有效
awk -F',' '(NF==1){print $0}' input_file
使用-F
标记将记录分隔符设置为逗号,然后仅在字段数$0
等于1时打印整行NF
或者简称@ nu11p01n73R指出
awk -F, 'NF==1'
答案 1 :(得分:2)
只需跳过带逗号的行。
awk '!/,/' file
答案 2 :(得分:1)
grep
就足够了:
fgrep -v , file
输出:
aaaa
dddd
kkkk
答案 3 :(得分:0)
您也可以使用此短sed
:
sed '/,/d' file
aaaa
dddd
kkkk
删除,