이것은 ifconfig의 출력입니다. awk를 사용하여 숫자 78(IP 주소의 4번째 옥텟)을 얻고 싶습니다.
ns33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.78 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::e698:d8b3:62ad:a784 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:0d:32:01 txqueuelen 1000 (Ethernet)
RX packets 2644 bytes 3395138 (3.3 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 897 bytes 67558 (67.5 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
답변1
다음과 같은 것이 작동해야 합니다.
awk '$1=="inet"{split($2,a,"."); print a[4]}'
아이디어는 첫 번째 단어가 있는 줄만 가져와 inet
점을 구분 기호로 사용하여 분할하는 것입니다.
하지만 댓글에서 언급했듯이 인터페이스가 여러 개인 경우 필터링을 수행해야 합니다.