我目前正在使用 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) 稍后存储在环境变量中。我愿意使用 grep 的替代品,例如 awk。任何帮助是极大的赞赏。
答案1
您有一个输出多行文本的命令,并且您只需要第一行输出。该head
命令在这里可能有用:
ifconfig | grep 'inet' | head -n 1
如果您只需要 IP 地址,那么您可以使用awk
:
ifconfig | awk '/inet/ { print $2; exit }'
这将从包含字符串 的第一行中提取第二个空格分隔的字段inet
,然后终止。