文字列の最後の値を切り取る

文字列の最後の値を切り取る

私のデータは(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

in awk in awk は、対応する$有効なフィールドの内容を返す演算子です。

awkのフィールドはフィールド区切り記号(FS)に基づいて分割され、デフォルトはタブ/スペースです(注:デフォルトのFSを使用してキャプチャする場合は、すべての先行/末尾のスペースも無視されるため、空の最初/最後のフィールドをキャプチャします。その後、FSを正規表現タイプとして指定する必要があります-F

awkではNF最後のフィールドを表すので、次のように$NF言います。指す .FSとして。

関連情報