分隔符后删除行不是字符

时间:2013-10-19 09:18:45

标签: scripting sed awk lines

我有一个包含三个分隔符'''的文件 - 如果第三个分隔符后面没有文本,我需要删除该行。任何想法如何做到这一点?

blahDI-blah.john;fdfds;gfdg;gdfgf
DNSK-ECAA.paul;ghdfdgd;fdsd;

仅返回

blahDI-blah.john;fdfds;gfdg;gdfgf

一如既往地谢谢! 史蒂夫。

3 个答案:

答案 0 :(得分:1)

一种方式:

awk -F";" '$4' file

这将打印第4列不为空的行。

答案 1 :(得分:1)

使用sed

sed '/;$/d' file

使用grep

grep -v ';$' file

使用awk(另一种变体在Guru和Jotne的ans中)

awk '/;$/ {next} 1' file

以上所有内容都会删除以;

结尾的行

输出:

blahDI-blah.john;fdfds;gfdg;gdfgf

答案 2 :(得分:1)

另一个awk

awk '!/;$/' file
blahDI-blah.john;fdfds;gfdg;gdfgf