• sed 用法笔记


    sed就用不着多做介绍了,非常强大的流编辑器,以行作为处理单位。另外还有一个神器awk可以非常方便的处理列 。平常可能觉得用用cat,more,tail,vi也差不多,但是如果遇到非常巨大的log文件,sed就会比较方便了。高级(我能说差点打成搞基了么。。。对这个世界绝望了。。)的用法基本也用不上,就记录下基本的命令什么的。。
    
    *准备示例文件*
    ```
    $cat passwd
    1a
    2b
    3c
    4d
    5e
    6f
    ```
    基本用法
    --
    * 显示第2行
    ```
    $sed -n '2p' passwd
    2b
    ```
    * 显示1到3行
    ```
    $sed -n '1,3p' passwd
    1a
    2b
    3c
    ```
    * 匹配模式
    ```
    $sed -n '/c/'p passwd
    3c
    ```
    * 行号加模式匹配    
    >以下例子表示从第二行开始匹配到有c的行结束;如果如果第二行就有c,或者一直没有匹配到带c的行,则从第二行输出到行尾;
    ```
    $sed -n '2,/c/'p passwd
    2b
    3c
    ```
    * 打印匹配行行号
    ```
    $sed -n '/b/=' passwd
    2
    ```
    * 显示整个文件
    ```
    $sed -n '1,$p' passwd
    1a
    2b
    3c
    4d
    5e
    6f
    ```
    删除文本
    --
    * 删除行
    ```
    $sed '1d' passwd        #删除第一行
    $sed '1,3d' passwd     #删除第一行到第三行
    $sed '2,$d' passwd      #第二行到末尾所有行
    $sed '$d' passwd        #删除passwd文件的最后一行
    ```
     * 删除匹配行
    ```
    $sed '/b/d' passwd
    $sed -n '/BEGIN/,/END/d' passwd
    ```
    替换文本
    --
    ```
    格式:[address[,address]]s/pattern-find/replacement-pattern/[g,p,w,n]
    n   1到512之间的一个数字,表示对本模式中指定模式第n次出现的情况进行替换
    g   对模式空间所有出现的情况进行全局更改【缺省只替换首次出现的模式 】
    p   打印模式空间的内容
    w   file
    ```
    * 全局替换
    ```
    $sed 's/b/x/g' passwd  #将b替换成x
    ```
    附  
    [sed 简明教程][1]
    
    
      [1]: http://coolshell.cn/articles/9104.html
    
    作者:sylarinfo
    出处:博客园sylarinfo的技术博客--http://www.cnblogs.com/sylarinfo/
    您的支持是对博主最大的鼓励,感谢您的认真阅读。
    本文如未在开头表明转载,则版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    ARC下的内存泄露
    iPhone 被同步到 Mac上后 如果不希望更新到Mac上在哪里删除?
    图像处理之基础---2个YUV视频 拼接技术
    多媒体开发之---H264 RTSP交互过程
    6410开发之---uboot
    数学和算法之---重温傅立叶
    多媒体开发之---h264 rtp打包
    多线程开发之---线程等待
    多媒体开发之---开源库ffmeg的log之子解析
    直升机的革命---鱼鹰运输机
  • 原文地址:https://www.cnblogs.com/sylarinfo/p/3477481.html
Copyright © 2020-2023  润新知