=============Sed==================
Sed:是一款流编辑工具,用来对文本进行过滤与替换工作,特别是当你想对几十个配置文件进行统一修改时,你会体会到它的魅力;Sed通过一次仅读取一行内容来对某           些指令进行处理后输出,所以Sed更适合处理大数据文件;Sed通过文件或管道读取文件内容,但它默认并不直接修改源文件,而是将读入的内容复制到缓冲区(模           式空间),然后根据相应的指令对缓冲区中的内容进行处理并输出结果,默认输出至标准输出(即屏幕上);

一:Sed文本过滤工具,针对于行过滤:
      (1)sed -n ‘xxp’
    eg: sed -n ‘1p’ 打印第一行
    sed -n ‘1,3p’ 打印1到3行
    sed -n ‘1~2’ 打印奇数行,从第1行开始,每2行匹配一次操作地址  

                 

        (2)sed -n ‘/^xxx/p’ 打印以xx开头的行
                sed -n ‘/xxx$/p’ 打印以xx结尾的行

                 

         (3)sed -e 可以执行相匹配的多个条件
        sed ‘/^a/p;/^[0-9]/p’ ceshi.sh 可以用封号将多个指令隔开
        eg: sed -e ‘/^a/p’ -e ‘/^[0-9]/p’

                    

           (4) sed -n ‘//=’ 显示所匹配的行号
      eg: sed -n ‘/^a/=’ ceshi.sh

                 

              (5) sed ‘//a ***’ 向匹配的行后追加内容,a后追加内容
       sed ‘//i ****’ 向匹配的行前添加内容,i后为追加内容
         sed ‘2a chehuiwei’ ceshi.sh 在第二行后追加
      sed ‘3i chehuiwei’ ceshi.sh 在第三行前添加
         sed ‘/ONBOOT/c ONBOOT=yes’ test.txt 将包含相关内容的行的内容更改 

                      

         

  (6) sed -n ‘1,3!p’ 取反

          

        (7)sed ‘1,2d’ ceshi.sh 删除1到2行
            sed ‘/^a/d’ ceshi.sh 删除以a开头的行
       sed ‘/^$/d’ ceshi.sh 删除文件中的空白行

                  

  (8) sed ‘s/旧的内容/替换的新内容/g’ ceshi.sh 替换
    sed -n ‘1,2s/旧的内容/替换的新内容/p’ ceshi.sh 将前两行打印出来并替换相关内容
    sed ‘s/旧的内容/替换的新内容/n’ ceshi.sh 当一行中有多个要替换的内容时,n指定替换第几个
    grep -v ^$ ceshi.sh |sed 's/ru[1-3]/\<&\>/1;s/ru[1-3]/\<\/&\>/2' 用&来代替正则表达式匹配的内容

     注意:如果规则表达式或替换字符串中有许多斜杠,则可以在s之后指定一个不同的字符来更改分割符:
    eg: sed -e ‘s:/usr/local:/usr:g’ ceshi.sh 此时:是替换分隔符,sed会将/usr/local替换成/usr,e可加可不加 

                

      

        

  (9)sed -i 文件名称 将更改内容写入文件
      eg: sed -i ‘s/旧的内容/新的内容/g’ ceshi.sh 

           

Sed的使用方法简介的更多相关文章

  1. gawk使用方法简介

    转载:gawk 使用方法简介 - 简书 (jianshu.com) gawk 是最初 Unix 系统上 awk 程序的 GNU 版本.相对于作为流式编辑器的 sed 而言,它提供了更为强大的编程语言特 ...

  2. 网络神器Greasemonkey(油猴子)使用方法简介+脚本分享【转载】

    推荐下,觉得这个方法有用, 今天艾薇百科来介绍一下功能强大的Greasemonkey,俗称"油猴子",Greasemonkey可以自由定制网页,实现你想要的各种功能.堪称" ...

  3. Redis Cluster搭建方法简介22211111

    Redis Cluster搭建方法简介 (2013-05-29 17:08:57) 转载▼       Redis Cluster即Redis的分布式版本,将是Redis继支持Lua脚本之后的又一重磅 ...

  4. Monte Carlo方法简介(转载)

    Monte Carlo方法简介(转载)       今天向大家介绍一下我现在主要做的这个东东. Monte Carlo方法又称为随机抽样技巧或统计实验方法,属于计算数学的一个分支,它是在上世纪四十年代 ...

  5. C#——Marshal.StructureToPtr方法简介

    目录 MarshalStructureToPtr方法简介 功能及位置 语法 参数说明 异常 备注 举例 本博客(http://blog.csdn.net/livelylittlefish)贴出作者(三 ...

  6. TabBarController创建及使用方法简介

    TabBarController创建及使用方法简介 大致讲解一下TabBarController的创建过程: 首先,我们需要一些视图,如创建UIControllerView类型的view1,view2 ...

  7. delphi操作文本文件的方法简介

    delphi操作文本文件的方法简介减小字体 增大字体 作者佚名来源不详发布时间2008-5-31 10:31:16发布人xuedelphi1 文件类型和标准过程       Delphi同Object ...

  8. iOS中常用的四种数据持久化方法简介

    iOS中常用的四种数据持久化方法简介 iOS中的数据持久化方式,基本上有以下四种:属性列表.对象归档.SQLite3和Core Data 1.属性列表涉及到的主要类:NSUserDefaults,一般 ...

  9. jQuery的AJAX方法简介及与其他文件$符号冲突的解决办法

    一.重要的jQuery AJAX方法简介 $.load(url) 从服务器载入数据 $.get(url,callback) 从服务器请求数据,并执行回调函数 $.post(url,data,callb ...

随机推荐

  1. Python极其简单的分布式异步作业管理系统RQ入门

    Python极其简单的分布式异步作业管理系统RQ入门 原创 2017-08-19 lixing 生信人 Python极其简单的分布式异步作业管理系统RQ入门 1. 什么是Job? Job直译过来就是工 ...

  2. leetcode334

    public class Solution { public bool IncreasingTriplet(int[] nums) { var len = nums.Length; ) { retur ...

  3. linux shell find

     find /  -ctime +365 ! -name "*.bat" -exce rm -rf {} \;

  4. 【转】运输层TCP协议详细介绍

    TCP是TCP/IP协议族中非常复杂的一个协议.它具有以下特点: 1:面向连接的运输层协议.在使用TCP协议之前,首先需要建立TCP连接.传送数据完毕后,必须释放已经建立的TCP连接. 2:一条TCP ...

  5. avalon最佳实践

    最近从angular的QQ群与新浪微博拉了许多人来用我的avalon,成为第一批登上方舟,脱离DOM苦海的人.短短三个月内,5群的朋友也搞出几个切实实行的案例了.为应对粉丝们高益高涨的热情,遂放出此文 ...

  6. delphi 三层架构简单例子(经测试成功)

    delphi 三层架构简单例子(经测试成功) 转载 2013年12月19日 09:48:57 1100 所谓三层: (1) 客户端 (2) 服务器端 (3) 数据库 在数据访问时,使得客户端必须通过服 ...

  7. 中文分词工具jieba中的词性类型

    jieba为自然语言语言中常用工具包,jieba具有对分词的词性进行标注的功能,词性类别如下: Ag 形语素 形容词性语素.形容词代码为 a,语素代码g前面置以A. a 形容词 取英语形容词 adje ...

  8. curl 访问 k8s

    curl https://mhc:6443/api --cacert ssl/ca.crt --key client_ssl/cs_client.key --cert client_ssl/cs_cl ...

  9. VSS/RSS/PSS/USS

    [VSS/RSS/PSS/USS] Android has a tool called procrank (/system/xbin/procrank), which lists out the me ...

  10. Unity内存优化

    [Unity内存优化] 1.在Update方法或循环中,少用string类,因为string类的每次操作都会调用new生成新字符串对象.用StringBuilder代替string,StringBui ...