Grep 正则表达式仅提取子域

Grep 正则表达式仅提取子域

我的 Linux 机器上的一个文件中有这个列表:

sub1.site.com
sub2.site.com.edgekey.net
subs.site.com.trafficmanager.com
sub3.site.com

我想从该列表中选择以下内容:

子站点.com

后面没有任何内容site.com,例如edgekeyor trafficmanager。我怎样才能做到这一点?

答案1

只需使用cut.

cut -d '.' -f1-3 file

使用点作为分隔符仅打印前三个字段。

答案2

这会找到恰好具有 3 个点分隔字段的行:

awk -F'.' 'NF == 3' filename
sub1.site.com
sub3.site.com

这省略了“sub2”——您没有指定这是否是您想要的。

相关内容