`
wxl24life
  • 浏览: 293237 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Shell 命令:如何从 ifconfig 输出结果中截取 IP 地址

阅读更多

匹配的关键是正则表达式。工具可以考虑 grep 或者 sed。

 

方案1:

借助 grep:

ifconfig | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*' | grep -v '127.0.0.1'

 

方案2:

借助 sed:

ifconfig | sed -En 's/127.0.0.1//;s/.*inet (addr:)?(([0-9]*\.){3}[0-9]*).*/\2/p'

 注:sed 的 -E 选项依赖于具体的 sed 版本。如果 -E 无效,请使用 -r 替代。

 

另外,可以通过 ifconfig 指定要显示的的 interface。

ifconfig eth0 | ...

 

我在具体实践时,使用了方案2 并指定了 interface。

SERVER_IP=$(/sbin/ifconfig eth0 | sed -nr 's/.*inet (addr:)?(([0-9]*\.){3}[0-9]*).*/\2/p')

 

参见:SO

 

分享到:
评论

相关推荐

    linux运维常用命令

    说明:该命令可以取 IP 地址,ifconfig 选项可以查看网络信息,grep 选项可以查找 inet addr,awk 选项可以处理输出结果,cut 选项可以截取字符串。 12. 查看内存大小 命令:free -m |grep "Mem" | awk '{print $2}...

    Linux操作系统与应用技术期末测试.doc

    1. 使用`grep`命令截取IP地址:`ifconfig | grep '192.168' > awk.txt` ### 8. 编写Shell脚本计算奇数之和 **知识点:** - Shell脚本是一种文本文件,包含了一系列命令和控制结构。 - 编写脚本后需要使用`chmod +x ...

    Linux Shell脚本中获取本机ip地址方法

    ifconfig -a 和window下执行此命令一样道理,返回本机所有ip信息 grep inet 截取包含ip的行 grep -v 127.0.0.1 去掉本地指向的那行 grep -v inet6 去掉包含inet6的行 awk { print $2} 

    Linux 中几个正则表达式的用法

    **解释:** 此命令已解释于文章开头,用于显示`ifconfig`命令结果中所有的IPv4地址。 通过以上示例可以清晰地看到正则表达式在Linux系统中的强大应用能力。无论是简单的文本过滤还是复杂的模式匹配,正则表达式都...

    adb 命令大全1

    - `adb shell getprop`:获取系统属性,如Android ID、IP地址等。 13. **硬件信息**: - `adb shell getprop ro.product.model`:获取设备型号。 - `adb shell dumpsys meminfo`:查看内存信息。 请根据具体...

    linux运维命令

    #### 八、在Shell脚本中显示文本 **命令示例:** ```bash cat +--------------------------------------------------------------+ |===Welcome to Turn off services===| +--------------------------------------...

    Linux中几个正则表达式的用法.doc

    `last`命令记录了登录历史,通过正则表达式分析`last`的输出,统计root登录时的IP地址出现频率。 9. **使用扩展正则表达式匹配数字范围**: 使用`echo {1..255}`生成1到255的数字序列,通过`egrep`匹配不同数字...

    运维常见选择题汇总一百多道

    - **用途**: `cut` 命令用于从文件的每一行中截取指定内容的数据。 - **基本语法**: `cut [选项] 文件` - **常用选项**: - `-d`: 指定字段分隔符。 - `-f`: 指定要提取的字段号。 **3. read命令** - **用途**: `...

    AIX中文教材.pdf

    - `ifconfig en1 service-IP alias`: 配置网卡en1的别名IP地址。 ##### 3.22 type command - `type command`: 显示指定命令的类型,即该命令是内置命令、外部命令还是函数。 ##### 3.23 df –k - `df -k`: 显示...

    值得收藏的40个命令总结.docx

    使用`ifconfig`命令获取网络接口的IP地址,通过`awk`和`cut`进行处理。 12. **查看内存大小**: `free -m`查看内存使用情况,`awk`获取内存总量。 13. **筛选特定端口的TCP连接状态**: `netstat -an -t`列出...

    常用的60个Linux常用命令.zip

    31. **ifconfig**:配置网络接口,查看或设置IP地址、子网掩码等。 32. **crontab**:定时任务调度器,自动化执行周期性任务。 33. **jobs**:查看后台运行的任务,管理进程。 34. **kill/killall**:发送信号以结束...

    linux-常用命令学习笔记.pdf

    "cut"命令可以从每行文本中截取指定的字段,"fmt"用于格式化文本,而"sed"是一个流编辑器,用于对输入的文本进行处理,并将结果输出到标准输出。 用户和组管理相关命令用于创建、修改和删除用户账户以及分配权限。...

    linux运维宝典

    11. **获取IP地址**:`ifconfig eth0 |grep "inet addr:" |awk '{print $2}'|cut -c 6-` 或 `ifconfig | grep 'inet addr:' | grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}'` 用于获取网络接口的IP地址。...

    华为内部学习资料——Linux常用命令及基础知识介绍

    - **`cut`**:截取文件中的部分字段或列。 - **`head`**:显示文件开头的几行。 - **`sed`**:流编辑器,用于对文本进行过滤和转换。 - **`tail`**:显示文件末尾的几行。 **2.4 文件编辑** - **Vi编辑器**:一种...

    IDC工程师考试试题.pdf

    - `ifconfig` 命令用于配置网络接口,包括IP地址、激活网络适配器等,但不涉及加载网卡到内核。 10. **网络连通性测试**: - `ping` 命令用于测试网络连接,如果无法与公网连通,可能是IP设置、网关或DNS设置有...

    linux运维宝典[定义].pdf

    11. **获取IP地址**:`ifconfig eth0 |grep "inet addr:" |awk '{print $2}'|cut -c 6-`或`ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}'`获取网络接口的IP地址。...

Global site tag (gtag.js) - Google Analytics