剪切字符串的最后一个值

剪切字符串的最后一个值

我的数据就像(a.txt)

allheartweb.com
whoisdatacenter.com
domainsanalytics.com
covercian.co.uk

我想从那里提取所有 TLD

我的代码是

cut -d "." -f 2 a.txt 

它告诉我

com
com
com
co

如果我做

cut -d "." -f 2,3

它给了我

com
com
com
co.uk

我想

com
com
com
uk

知道我该怎么做吗

答案1

使用awk:

awk -F'.' '{ print $NF }' infile

awk 中的in $awk 是一个运算符,返回相应有效字段的内容。

awk 中的字段根据 FS(字段分隔符)进行拆分,默认为制表符/空格(注意:使用默认 FS,所有前导/尾随空格也将被忽略,如果您想捕获它们因此捕获空的第一个/最后一个字段,然后您需要将 FS 指定为正则表达式类型。)。 FS 可以使用-Fswitch 或通过 awk 内部 FS 变量进行更改。

awk 中的NF代表最后一个字段,因此$NF我们告诉根据 .作为FS。

相关内容