문자열의 마지막 값 잘라내기

문자열의 마지막 값 잘라내기

내 데이터는 (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로서.

관련 정보