Bash의 줄 바꿈에서 출력 문자열을 분할하는 방법

Bash의 줄 바꿈에서 출력 문자열을 분할하는 방법

도메인 이름의 IP 주소를 가져오기 위해 nslookup을 사용하는 간단한 명령을 작성 중입니다.

내가 한 일은 다음과 같습니다.

nslookup scanme.nmap.org | grep -i "Address"  | awk '{print $2}' 

산출:

127.0.0.53#53
45.33.32.156
2600:3c01::f03c:91ff:fe18:bb2f

이제 위에서 두 번째 줄을 얻고 싶습니다. 즉45.33.32.156. 나는 일반적으로 Ubuntu와 Linux를 처음 접하므로 매우 간단할지라도 도와주세요(정말 어려움을 겪고 있습니다!!). 미리 감사드립니다. ;-)

답변1

두 번째 줄을 얻으려면 다음을 사용하십시오 sed -n '2 p'.

$ printf "127.0.0.53#53\n45.33.32.156\n2600:3c01::f03c:91ff:fe18:bb2f" | sed -n '2 p'
45.33.32.156

답변2

이미 awk를 사용하여 두 번째 열을 가져왔으므로 두 번째 레코드만 처리하도록 지시할 수도 있습니다.

$ nslookup scanme.nmap.org | grep -i "Address"  | awk 'NR==2 {print $2}'
45.33.32.156

관련 정보