美文网首页
【进阶】04-老男孩教育-sed命令模式空间及保持空间命令

【进阶】04-老男孩教育-sed命令模式空间及保持空间命令

作者: 李导996 | 来源:发表于2019-04-21 22:14 被阅读0次

    运维学习交流群-点我加群:598972270

    一.模式空间与保持空间

    首先回顾,sed命令执行流程参考:【吃饭的家伙】01-老男孩教育-三剑客-sed执行流程

    模式空间(pattern space)和保持空间(hold space)是sed的两个存放数据的空间,主要特点如下:

    \color{red}{模式空间:}

    数据默认读取到模式空间,我们通过各种命令输出或处理的一般都是模式空间的内容
    模式空间的内容会在处理完这一行后清空,就是没读取1行,就会被清空1次

    \color{blue}{保持空间::}

    需要特定的命令才能操作(h,H,g,G,x)
    这里存放的数据会永久保存(sed读取完文件后才会清空这里面的内容),所以这里可以用来做很多“有趣的事情”

    二.操作命令及含义

    P表示:pattern space
    H表示:hold space

    操作的命令 含义 方向
    h 用当前模式空间的内容\color{red}{替换}保持空间的内容 P--->H,会清空H的内容
    H 先向保持空间中追加1回车,然后把当前模式空间内容\color{red}{追加}保持空间 P--->>H,追加信息到H中
    g 用当前保持空间的内容\color{red}{替换}模式空间的内容 P<---H,会清空P的内容
    G 先向模式空间中追加1回车,然后把当前保持空间内容\color{red}{追加}模式空间 P<<--H,追加信息到P中
    x \color{red}{交换}当前保持空间模式空间的内容 P<-->H

    h/H

    g/G

    x

    sed 命令之H;G的执行过程.png

    相关文章

      网友评论

          本文标题:【进阶】04-老男孩教育-sed命令模式空间及保持空间命令

          本文链接:https://www.haomeiwen.com/subject/tbclgqtx.html