zoukankan      html  css  js  c++  java
  • Sed命令

    SED解析

    如上图。要注意的就有点

    1 sed 后面的处理必须要加 ' '括起来才行

    2 2,5意思就是2-5行

    3 d,从解析的第二张图可以得知,是删除的意思。所以整句话的意思就是  删除2-5行。所以结果如下图,2-5行就删除了。

    新增同上,无非就是把d改成a,如图:

    如果我只想打印2-5行,我该如何操作呢?一般情况下都会如下图所示

    看到了么?这个命令的结果就是2-5行重复输出了。为什么呢?好吧我们回头看解析,解析图第一张的第一行

    -n  使用安静模式。为什么呢?一般sed所有的sdin数据都会显示,只有加上-n之后,sed特殊处理之后的数据才会被列出来。这就是为什么上图2-5行重复的原因,首先他将2-5行全部列出来之后,在将sed处理之后的数据在打印一遍,这就造成了2-5行数据的重复。

    那么我们使用-n模式试一下

    ,只列出了2-5行的数据。完美,不是么?

    ,利用sed命令来替换字符串,及搜选字符串

    例:

    1 查询Ip 来进行操作。首先利用 /sbin/ifconfig 来查询本地网络连接的相关详细信息,如下图

    2 利用grep上一个随笔写的正则表达式,来获取ip那一行,也就是inet 192......那一行。

    OK。 /sbin/ifconfig ens33 | grep 'inet'

    结果出来两行:

    如何将inet6那一行给干掉呢。我第一个就是想到表达式$符,末尾嘛。可是查询结果没有内容。再仔细看,原来$是行的末尾。也就是末尾是什么的字符,学的不扎实的毛病出来了。

    仔细看,inet后面有空格,inet6后面是6.那我们只要grep 'inet '就OK了么?测试一下,OK

    通过上面三步,就将ip地址获取到了。上面利用了正则表达式的相关内容

    首先通过inet空格,将inet那一行取出来。

    然后通过 sed 's/^.*innet //g'来讲inet删掉。理解一下里边的内容

    目的就是用后面的替换前面的。首先是s,替换。然后用//g来替换/^.*innet。然后我们再来理解一下/^.*innet 。首先一个转义字符/,在grep中都是用单引号来括起来的。这里没有单引号,用的是/转义字符。这点要注意。后面的^头部开始,有 . 一个字符或者*多个字符,一直读到innet。意思就是获取innet前面的所有的内容。 然后用//g来替代。/是一个转义字符,转义的是/g的/,意思就是空。 至于后面的/g是什么意思呢?书中没有解释,百度一下。找到了一个解释,我觉得比较明白了。如下图,连接地址https://www.cnblogs.com/yelang-lkg/p/5502744.html。

    ,加上g就是全匹配。如果里面有多个Ip 地址的话,加上/g,执行一次取一个,这样循环往下取,如果不加/g,就只能获得第一个Ip的匹配。

     

    1 搜寻man。2 将注释用空格替换  3 去掉空格。

    这是书中的原例,对于这个例子。我们其实直接将注释删除就OK。不需要替换,估计是书中的特意演示。如下图,操作一下

    看到了没,第一行的命令,执行的结果跟上图是一样的。

    上面所有的实例都是用于屏幕输出,而不是改变原文件。如果要改变原文件,只需要在前面所有输出前面加上一个-i,后面再加上一个想要修改的文件就可以。

    例:。画框的三部分。

    延伸正规表示法

  • 相关阅读:
    Android引导页设计
    QQ5.0左侧滑动显示效果
    QQ左侧滑动显示之按钮切换
    QQ左侧滑动显示之自定义属性
    HDU 4009——Transfer water——————【最小树形图、不定根】
    HDU 2121——Ice_cream’s world II——————【最小树形图、不定根】
    POJ 3164——Command Network——————【最小树形图、固定根】
    HDU 5532——Almost Sorted Array——————【技巧】
    UVA 10462 —— Is There A Second Way Left?——————【最小生成树、kruskal、重边】
    HDU 4081—— Qin Shi Huang's National Road System——————【次小生成树、prim】
  • 原文地址:https://www.cnblogs.com/Lonelychampion/p/11187373.html
Copyright © 2011-2022 走看看