linux - AWK 的多个字段分隔符

标签 linux awk grep

我试图分离 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/

相关文章:

python - 如何使用 awk 或 sed 分割日志文件。替换 python 脚本

python - 连接两个 csv 文件

python - 从多个文件中抓取行的最快方法

c - 关于使用低级函数

linux - 命令未在 Linux EC2 实例启动时运行

windows - Windows 与 Linux/UNIX 中 Perl 的 waitpid() 和 IPC::Open2

linux - shell脚本中双引号内的双引号

Shell从一个文件中读取字符串并替换到另一文件中

regex - 从文件名中有选择地提取数字

bash - 将 curl 输出管道化到 grep