현재 Docker의 CentOS 이미지를 사용하고 있습니다. 내가 원하는 것은 grep이 특정 문자열을 만난 후 특정 값을 얻는 것입니다. 이 경우 문자열은 "inet"입니다.
지금까지 내가 한 일:
# ifconfig | grep 'inet'
나에게 다음과 같은 결과를 제공합니다.
inet 192.168.208.4 netmask 255.255.240.0 broadcast 192.168.223.255
inet 127.0.0.1 netmask 255.0.0.0
그러나 나중에 환경 변수에 저장하려면 첫 번째 inet IP 주소(192.168.208.4)만 필요합니다. 나는 awk와 같은 grep의 대안을 사용하고 싶습니다. 어떤 도움이라도 대단히 감사하겠습니다.
답변1
여러 줄의 텍스트를 출력하는 명령이 있는데 첫 번째 줄만 출력하려고 합니다. 이 head
명령은 다음과 같은 경우에 유용할 수 있습니다.
ifconfig | grep 'inet' | head -n 1
IP 주소만 필요한 경우 다음을 사용할 수 있습니다 awk
.
ifconfig | awk '/inet/ { print $2; exit }'
그러면 문자열이 포함된 첫 번째 줄에서 두 번째 공백으로 구분된 필드가 추출된 inet
다음 종료됩니다.