내 데이터는 (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를 정규식 유형으로 지정해야 합니다. FS는 -F
스위치를 사용하거나 awk 내부 FS 변수를 통해 변경할 수 있습니다.
awk에서는 NF
마지막 필드를 나타내므로 다음과 같이 $NF
말합니다.가리키다 .
FS로서.