删除所有只有一个点字符的行

vis*_*aj' -4 linux text-processing

我有一个巨大的文本。我想删除所有只有一行的行.

样本输入:

abc.google.org
yahoo.com
abc.yahoo.in
abcd.bing.com
abcd.xyz.bing.uk
abcd.xyz.mnp.bing.uk
stackexchange.com
yas.sxs.sxs.zs.sxstackexchange.com
Run Code Online (Sandbox Code Playgroud)

预期输出:

abc.google.org
abc.yahoo.in
abcd.bing.com
abcd.xyz.bing.uk
abcd.xyz.mnp.bing.uk
yas.sxs.sxs.zs.sxstackexchange.com
Run Code Online (Sandbox Code Playgroud)

我非常感谢您能提供的任何帮助。

αғs*_*нιη 8

awk -F'.' 'NF!=2' infile
Run Code Online (Sandbox Code Playgroud)

如果仅包含两个字段(即,仅找到一个点的行),则不打印这些行。可以使用该-F选项指定字段分隔符。


或使用 gsub() 函数:

awk 'gsub(/\./, ".")!=1' infile
Run Code Online (Sandbox Code Playgroud)

如果点字符(与自身)的成功替换次数不是一次,则打印它。