Chinaunix首页 | 论坛 | 博客
  • 博客访问: 330971
  • 博文数量: 77
  • 博客积分: 1925
  • 博客等级: 上尉
  • 技术积分: 1065
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-13 17:26
文章分类
文章存档

2012年(77)

我的朋友

分类: LINUX

2012-03-23 16:56:50

sed : stream editor 行编辑器
    特点:1、非交互式的编辑器
                 2、没有破坏性,不修改源文件,除非使用shell重定向
    语法格式:
    sed [options] /PATTERN/COMMAND   filename
    sed [options] ADDR1,ADDR2,ADDR3/COMMAND filename
     默认情况下,把匹配到的再输出一次,如果想打印搜索出
     来的行的话,使用-n选项
   如:我想查看/proc/cpuinfo下的前三行的内容
 
 
    如果我想查看指定字符之间的内容,可以使用如下格式尽心查看:
          sed -n /STRING1/,/STRING2/p  FILENAME
如图所示:查看/proc/cpuinfo下的以cpu开头到以wp开头之间的内容

           COMMAND :
               p   ;打印
               d   :删除被匹配的行
                      sed -n /^[Cc]/d /proc/cpu      删除以cC开头的行
               a\  :添加注释信息 ,在行后 
                       sed -n "/^cpu/\a\#this is my cpu" /proc/cpuinfo 就会在以cpu开头的行的 
               i\  :在行首添加
                       sed -n "/^cpu/i\#this is my cpu" /proc/cpuinfo
                       sed -n "/^cpu/i\#this is my cpu #new hang" /proc/cpuinfo  ( 在匹配的行添加多行)
               s/A/B :把A换成B
     sed "ADDR1,ADDR2s/A/B/ig"  /proc/cpuinfo   用B换成A,g表示全局替换,否则只替换行的第一个
       eg:sed "1,$s/yes/YES/g"  /proc/cpuinfo   从第一行到最后一行把所有的yes换成YES 

                    
            -e     :同时进行多个操作,每个操作之前都有-e

            -f     :从文间中读取
            -i     :修改原文件
           
阅读(1184) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~