Linux

剪切字元串的最後一個值

  • May 2, 2022

我的數據就像(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

知道我該怎麼做

使用 awk:

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

$in awk 是返回相應有效欄位內容的運算符。

awk 中的欄位基於 FS(欄位分隔符)進行拆分,預設為 Tab(s)/Space(s)(注意:使用預設 FS,如果您想擷取它們,所有前導/尾隨空格也將被忽略因此擷取空的第一個/最後一個欄位,然後您需要將 FS 指定為正則表達式類型。)。FS 可以通過-Fswitch 或通過 awk 內部 FS 變數進行更改。

NFin awk 代表最後一個欄位,因此$NF我們告訴我們根據點作為 FS 列印最後一個欄位的內容 .

引用自:https://unix.stackexchange.com/questions/701105