我试图分离 ifconfig 并只给我当前 IP、广播和网络掩码的输出。我遇到的问题是输出是空格和冒号。我一定是遗漏了什么,因为我似乎无法绕过这一部分。看来我的 OFS 声明不起作用。
ifconfig eth0 | grep "inet addr" | awk -F ':' 'BEGIN{OFS=" ";}{print $2}'
输出这个:
127.0.0.1 Bcast
上面是 native 的IP。我真的只是想让它输出
127.0.0.1
最佳答案
一些简单的解决方案:
ifconfig eth0 | tr : \ | awk '/inet addr/{ print $3 }'
和
ifconfig eth0 | tr -s \ | awk '/inet addr/{print $4 }' FS=':| '
还有:
ifconfig eth0 | awk '/inet addr/{print $13 }' FS=':| '
关于linux - AWK 的多个字段分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11974968/