精华内容
下载资源
问答
  • 今天自己有了一个小小想法,Linux中的ifconfig/ip命令查看IP地址显示的内容实在太多了,该练习一下如何用正则过滤命令直接提取出(xxx.xxx.xxx.xxx)格式的IP的地址。准备:Linux如何查看IP地址的命令,本人知道两种...

    概述:

    最近一个月一直把精力投入到Linux的学习当中了,越学越觉得Linux实在太好玩了。今天自己有了一个小小想法,Linux中的ifconfig/ip命令查看IP地址显示的内容实在太多了,该练习一下如何用正则过滤命令直接提取出(xxx.xxx.xxx.xxx)格式的IP的地址。

    准备:

    Linux如何查看IP地址的命令,本人知道两种,分别是ifconfig和ip,至于具体用法,在这就不详细说了,我们的主要目标是用正则来过滤两者基本命令获取的内容以至于直接获得地址,但是我们还是必须了解两者获得的内容是不一样的。
    首先,我们先来看看两者的基本命令输出的内容分别是什么。
    命令ifconfig:
    命令ifconfig内容

    命令ip addr:
    ip addr内容

    (注意:本人的工作环境是CentOS6.6,同时因为之前配置过网络,所以是修改过/etc/udev/rules.d/70-persistent-net.rules 里面的DEVICE=eth2,从而显示的IP地址是在eth2中,读者需要根据自己的工作环境来修改选取IP的地址的设备,适当把本文中的eth2改成eth1或者eth0或者不变。)

    知道我们的目标之后,就应该分析我们用什么工具来处理这些内容呢?
    命令grep:
    grep 则是分析一行讯息, 若当中有我们所需要的信息,就将该行拿出来。
    简单的语法是这样的:

    [dmtsai@study ~]$ grep [-acinv] [–color=auto] ‘搜寻字串’ filename
    选项与参数:
    -a :将 binary 文件以 text 文件的方式搜寻数据
    -c :计算找到 ‘搜寻字串’ 的次数
    -i :忽略大小写的不同,所以大小写视为相同
    -n :顺便输出行号
    -v :反向选择,亦即显示出没有 ‘搜寻字串’ 内容的那一行!
    –color=auto :可以将找到的关键字部分加上颜色的显示喔!

    命令 sed:
    sed 本身是一个管线命令,可以分析 standard input 的 而
    且 sed 还可以将数据进行取代、删除、新增、撷取特定行等等的功能呢!

    sed [-nefr] [动作]
    选项与参数:
    -n :使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN 的数据一般都会被列出到屏幕上。
    但如果加上 -n 参数后,则只有经过 sed 特殊处理的那一行(或者动作)才会被列出来。
    -e :直接在命令行界面上进行 sed 的动作编辑;
    -f :直接将 sed 的动作写在一个文件内, -f filename 则可以执行 filename 内的 sed 动作;
    -r :sed 的动作支持的是延伸型正则表达式的语法。(默认是基础正则表达式语法)
    -i :直接修改读取的文件内容,而不是由屏幕输出。
    动作说明: [n1[,n2]]function
    n1, n2 :不见得会存在,一般代表“选择进行动作的行数”,举例来说,如果我的动作
    是需要在 10 到 20 行之间进行的,则“ 10,20[动作行为] ”
    function 有下面这些咚咚:
    a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
    c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
    d :删除,因为是删除啊,所以 d 后面通常不接任何咚咚;
    i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
    p :打印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行~
    s :取代,可以直接进行取代的工作哩!

    而我们主要用的语法是:

    sed ‘s/要被取代的字串/新的字串/g’

    分析:

    一、处理命令Ifconfig eth2 内容:

    1、用命令“Ifconfig eth2” 输出基本内容:
    这里写图片描述
    2、用命令“| grep ‘inet ’”选出IP地址关键的一条:
    这里写图片描述
    3、 用命令 “| sed‘s/^.*addr://g’”去除IP地址前面的内容:
    这里写图片描述
    4、用命令 “sed s/Bcast.*$//g”去除IP地址后面的内容:
    这里写图片描述

    二、处理命令 ip addr show eth2内容:
    1、用命令“ ip addr show eth2” 输出基本内容:
    这里写图片描述
    2、用命令“| grep ‘inet ’”选出IP地址关键的一条:
    这里写图片描述
    3、 用命令 “| sed ‘s/^.*inet //g’”去除IP地址前面的内容:
    这里写图片描述
    4、用命令 “|sed ‘s#/24.*$##g’”去除IP地址后面的内容:
    这里写图片描述
    (注意:这里因为遇到了要过滤“/”,所以我们就不再用“s///g”命令了,用“s###g”代替,而功能上是一样的,除此之外,我们还能用“s:::g”代替。)
    这里写图片描述

    总结:

    其实本人觉得以上的做法还是有点繁琐,不排除有其他简单的方法,如果日后本人发现更简单的方法将会再次分享给大家讨论。

    展开全文
  • Linux正则表达式

    2018-09-29 22:35:15
    [Linux基础]_05_常用的文本过滤工具 Linux正则表达式 三种表达方式
  • ifconfig ens33 |grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}' ens33 代表指定的网卡设备 可以写自己机器实际的网卡名称.
    ifconfig ens33 |grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}'
    

    ens33 代表指定的网卡设备
    可以写自己机器实际的网卡名称.

    展开全文
  • linux正则表达式

    2017-11-12 02:34:00
    什么是linux正则表达式: 正则表单式就是处理大量字符串而定义的规则和方法 通过正则表达式,我们可以快速的过滤,替换需要的内容 正则表达式的特点: Linux正则表达式默认以行为单位处理 Linux正则表达式,和...

    什么是linux正则表达式:

      正则表单式就是处理大量字符串而定义的规则和方法

       通过正则表达式,我们可以快速的过滤,替换需要的内容


    正则表达式的特点:

      Linux正则表达式默认以行为单位处理

      Linux正则表达式,和命令行中通配符的使用是有区别的


    linux正则表达式的使用:

      正则表达式不光应用于linux中,还包括脚步,php语言等,运用的地方不同自然正则表达式的含义也有所区别


    经常调用正则表达式的命令:

    grep:-v过滤时排除空行;-o过滤时只输出匹配内容;-E支持扩展正则表达式;-color=auto匹配的内容带颜色;-n输出过滤内容的行号

    sed:-i修改原文件;-n取消默认输出;p打印内容;s替换内容;g全局

    awk



    基础正则表达式(BRE):

    1)^q    以什么开头的内容

    2)q$    以什么结尾的内容

    3)^$    代表空行

    4).     代表任意一个字符

    5)\     代表转义字符

    6)q*    重复0个或多个它前面的字符

    7).*    配置所有字符(位数不限)

    8)^.*    任意字符开头

    9).*$    任意字符结尾

    10)[abc]  匹配其中任意一个字符

    11)[^ab]  取反

    12)q{n,m} 重复前面一个字符n-m次



    扩展正则表达式(ERE)

    13)q+   重复1个或多个前面的字符

    14)q?  重复0个或1个前面的字符

    15)q|w  代表或

    16)(q) 查找用户组信息

    17)(\s)代表空格,或也可直接用空格


    sed的替换操作:

    1)s#原数据#更新数据#  替换第一行数据

    2)s#原数据#更新数据#g 替换所有数据

    3)s#原数据##  将原数据替换为空


    接下来我们做一个实验,将ip地址从此过滤出来:

    wKiom1aRy4TA6TMdAABIF-73FTQ642.png

    1.过滤出行

    wKiom1aRzKLRmL5BAAAR5Ju38fY706.png


    2.将开头过滤

    wKioL1aRzM6h7Il4AAAQzIhLgKM334.png


    3.将结尾过滤

    wKioL1aRzM_QAiFQAAAQgFxwuy8220.png




    本文转自 红色的菠萝 51CTO博客,原文链接:http://blog.51cto.com/10460741/1733439


    展开全文
  • 简单说正则表达式就是一套处理字符串的规则和方法,以行为单位对字符串进行处理。通过特殊的符号的辅助,就可以快速过滤,替换某些特定的字符串。基础:1、^word//匹配以word开头的2、word$//匹配以word结尾的3、.(点...

    简单说正则表达式就是一套处理字符串的规则和方法,以行为单位对字符串进行处理。通过特殊的符号的辅助,就可以快速过滤,替换某些特定的字符串。基础:

    1、^word        //匹配以word开头的

    2、word$        //匹配以word结尾的

    3、.(点)                //匹配任意一个字符

    4、\                    //转义符号

    5、*                    //重复0个或多个前面的一个字符

    6、^.*                   //匹配所有字符

    7、[]                    //匹配中括号里,任意一个出现的字符

    8、[^word]                //表示匹配不包含w、o、r、d以外的字符

    9、a\{n,m\}     //重复n到m次 ,前一个字符

    10、a\{n,\}    //至少n次,前一个字符

    11、a\{n\}    //n次,前一个字符

    扩展:

    1、+          //重复一个或一个以上前面的字符

    2、?                    //重复0个或一个前面的字符

    3、|                    //用或的方式查找多个字符串

    4、()                    //找出“用户组”字符串

    9b3f1f9d309c0ae54cf617076dee0ca0.png赞1

    c788d2554644b6a03084e98b2926d709.png

    380c82d9930cb6b75d8471e9cb2da8a3.png踩0

    本文标签:Linux

    版权声明:若无特殊注明,本文为《橙子柠檬》原创,转载请保留文章出处。

    本文链接:https://qinzc.me/post-63.html

    正文到此结束

    展开全文
  • 第一章 基础正则表达式^word 匹配以word开头的内容word$ 匹配以我word结尾的内容^$ 表示空行. 代表有且只代表任意一个字符\ 转义符号,例如. 就只代表点本身,让有着特殊身份意义的字符脱掉马甲,还原原型*号 重复0...
  • Linux正则

    2017-03-19 22:55:51
    grep,egrep,fgrep:文本过滤工具(模式:pattern) 工具; grep:基本正则表达式,-E,-F egrep:扩展正则表达式,-G,-F fgrep:不支持正则表达式, sed:stream editor,流编辑器,文本编辑工具; awk:...
  • linux过滤空行和注释 bash技术交流qq群:921383787 示例文本 cat > test.txt <<EOF line1 line2 line3 #line4 #line5 EOF 过滤掉文本以#注释开头的行和空行 egrep -v '^$|^#' test.txt 过滤掉以空格...
  • linux正则表达式一般以行为单位处理的。 2、为什么要学正则表达式 在企业工作中,我们每天做的linux运维工作中,时刻都会面对大量带有字符串的文本配置、程序、命令输出及日志文件等,而我们经常会有迫
  • Linux 正则表达式

    2020-03-23 22:34:52
    1 什么是正则表达式 简单来说,正则表达式就是为了处理大量的字符串而定义的一套规则和方法 例如:假设@代表pillow,!...linux正则表达式一般以行为单位处理的。 2 为什么要学习正则表达式 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 36,341
精华内容 14,536
关键字:

linux正则过滤

linux 订阅