zoukankan      html  css  js  c++  java
  • Sed的使用方法简介

    =============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 

               

  • 相关阅读:
    hdu 4858 项目管理 图的分块
    hdu 3123 GCC 阶乘
    hdu 3065 病毒侵袭持续中 AC自动机
    SPOJ
    hdu 3033 I love sneakers! 分组背包
    zoj 1450 Minimal Circle 最小覆盖圆
    hdu 3007 Buried memory 最远点对
    Azure 虚拟机常见问题-下
    Azure 虚拟机常见问题-上
    关于Windows Azure的常见问题-执行与维护FAQ
  • 原文地址:https://www.cnblogs.com/xiaocheche/p/7602077.html
Copyright © 2011-2022 走看看