使用三剑客(grep,sed,awk)获取IP地址

例一:将系统用ifconfig命令列出的信息中ens33的IP地址打印出来

使用三剑客(grep,sed,awk)获取IP地址

自用方法1(简单实用):

ifconfig ens33 | grep 'inet' | awk -F " " '{print $2}' | sed -n '1p'

  • ifconfig ens33 获取网卡信息
  • grep ‘inet’ 过滤inet的行
  • awk -F ” ” ‘{print $2}’ 以空格为分隔符,获取第二列
  • sed -n ‘1p’ 打印第一列

方法2:

[root@Centos /]# ifconfig eth0 |grep "inet addr"

inet addr:192.168.1.2  Bcast:192.168.1.255  Mask:255.255.255.0

首先将带有IP地址行过滤打印出来,然后再进行过滤取出IP地址

[root@Centos /]# ifconfig eth0 |grep "inet addr"|awk -F '[ :]+' '{print $4}'

192.168.1.2

以空格和:做为分隔符,+代表前面多个重复的分隔符识为一个,将第四列打印

方法3:

[root@Centos /]# ifconfig eth0

eth0      Link encap:Ethernet  HWaddr 00:0C:29:AA:CA:2B  
          inet addr:192.168.1.2  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:feaa:ca2b/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:7005 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3095 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:709421 (692.7 KiB)  TX bytes:454116 (443.4 KiB)

[root@Centos /]# ifconfig eth0|awk -F ‘[ :]+’ NR2 取整个内容第二行

      inet addr:192.168.1.2  Bcast:192.168.1.255  Mask:255.255.255.0

[root@Centos /]# ifconfig eth0|awk -F ‘[ :]+’ ‘NR2 {print $4}’ 打印第四列

192.168.1.2

方法4:

[root@Centos /]# ifconfig eth0

eth0      Link encap:Ethernet  HWaddr 00:0C:29:AA:CA:2B  
          inet addr:192.168.1.2  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:feaa:ca2b/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:7271 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3244 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:733402 (716.2 KiB)  TX bytes:473258 (462.1 KiB)

[root@Centos /]# ifconfig eth0|sed -n 2p 将第二行打印

      inet addr:192.168.1.2  Bcast:192.168.1.255  Mask:255.255.255.0

[root@Centos /]# ifconfig eth0|sed -n 2p|sed ‘s#^.*addr:# #g’

192.168.1.2 Bcast:192.168.1.255 Mask:255.255.255.0

将以空格.*(前任意字符)addr:开头的内容替换成空输出

[root@Centos /]# ifconfig eth0|sed -n 2p|sed ‘s#^.addr:# #g’|sed ‘s# Bcast.$# #g’ 将以两空格Bcast.*(后任意字符)结尾的内容替换成空输出

192.168.1.2

方法5

[root@Centos /]# ifconfig eth0

eth0      Link encap:Ethernet  HWaddr 00:0C:29:AA:CA:2B  
          inet addr:192.168.1.2  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:feaa:ca2b/64 Scope:Link
          UP BROACAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:7723 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3434 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:776543 (758.3 KiB)  TX bytes:493886 (482.3 KiB)

[root@Centos /]# ifconfig eth0|sed -n ‘s#^.addr:(.) Bcast.*$#\1#gp’

192.168.1.2

将需要的内容匹配到()中,然后将()中的内容打印出来

例二 过滤ip a 打印出的IP中ens33的地址

使用三剑客(grep,sed,awk)获取IP地址

自用方法:
ip address | grep ens33 | sed -n '2p' | awk -F " " '{print $2}' | awk -F "/" '{print $1}'

  • grep ens33 过滤ens33这行
  • sed -n ‘2p’ 获取第二行
  • awk -F ” ” ‘{print $2}’ 以空格符为分割打印第二列,此过滤后会显示IP/掩码,所以仍需过滤
  • awk -F “/” ‘{print $1}’` 以/为分割胡打印第一列IP即可

原创文章,作者:AIRF,如若转载,请注明出处:http://www.ai-rf.com/index.php/2022/10/05/%e4%bd%bf%e7%94%a8%e4%b8%89%e5%89%91%e5%ae%a2grepsedawk%e8%8e%b7%e5%8f%96ip%e5%9c%b0%e5%9d%80/

(0)
AIRFAIRF
上一篇 2022年10月1日
下一篇 2022年10月5日

相关推荐

  • nf_conntrack模块导致服务器Drop Packet

    前言 系统日志中发现 nf_conntracck: table full,dropping packet信息(服务器为GP数据库)这说明系统接到了大量的连接请求,但是系统的连接跟踪…

    Linux系统 2023年6月19日
  • Windows批量ping工具

    windows批量pingIP地址工具 下载地址如下: [c-downbtn type=”123″ url=”https://www.123pa…

    2021年12月30日
  • Linux性能优化

    性能优化 性能指标 高并发和响应快对应着性能优化的两个核心指标:吞吐和延时 应用负载角度:直接影响了产品终端的用户体验 系统资源角度:资源使用率、饱和度等 性能问题的本质就是系统资…

    2023年11月20日
  • CPU利用率高又看不到占用率高的进程?

    两步大法 1、安装unhide 安装epel源:yum -y install epel-release 安装unhide:yum -y install unhide 2、查找隐藏进…

    2023年5月9日
  • xshell 连接报错 Disconnected from remote host

    前景提示 使用xshell连接服务器IP地址报错 解决方法 1.登陆带外管理口远程控制台2.查看/Var/empty的属主属组和权限,empty权限需为7553.Chmod 777…

    Linux系统 2021年12月30日
  • 服务器IO读写/下载测速脚本SuperBench

    前言 有的朋友想测试一下自己的服务器硬盘读写速度及各地到自己服务器的网速,所以就诞生了这款脚本SuperBench,这款脚本原作者已停止更新,此脚本为修复版,支持Centos8 介…

    Linux系统 2022年12月2日
  • 探索与筑梦:人工智能射频设计平台

    连接智能与频谱的未来:为什么我们要创立这个人工智能射频设计平台 在当今科技爆炸的时代,有两个看似独立却正在发生剧烈碰撞的领域:人工智能(AI) 与 射频(RF)技术。 从智能手机到…

    Linux系统 2024年6月15日
  • 【Linux】(超详细步骤)构建软RAID磁盘阵列

    一、构建磁盘阵列 (1) 安装 mdadm 工具 在CentOS7.x 系统中mdadm 工具由mdadm-3.4-14.el7.x86_64 软件包提供,执行 rpm -qa |…

    Linux系统 2023年3月7日
  • Linux性能分析工具sar篇

    简介 sar(System Activity Report)是Linux系统中常用的性能分析工具,可以从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁盘 …

    Linux系统 2023年5月18日
  • Linux中free命令有哪些高级用法

    在Linux操作系统中,free命令是一款强大的系统工具,用于查看和监控系统内存的使用情况。本文将介绍free命令的基础用法,包括查看内存总量、已使用量和可用量等信息。此外,还将探…

    C&C++&C# 2024年1月24日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注