Chinaunix首页 | 论坛 | 博客
  • 博客访问: 30443
  • 博文数量: 21
  • 博客积分: 521
  • 博客等级: 下士
  • 技术积分: 270
  • 用 户 组: 普通用户
  • 注册时间: 2011-06-14 17:11
文章分类

全部博文(21)

文章存档

2012年(2)

2011年(19)

最近访客

分类: Python/Ruby

2011-06-18 10:04:45


常用选项:
        
-n∶使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN的资料一般都会被列出到萤幕上。但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来。
        -e∶直接在指令列模式上进行 sed 的动作编辑;
        -i∶直接修改读取的档案内容,而不是由萤幕输出。
       

常用命令:
        a   ∶新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
        c   ∶取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
        d   ∶删除,因为是删除啊,所以 d 后面通常不接任何咚咚;
         i   ∶插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行)
         s  ∶取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!

举例:(假设我们有一文件名为hudie.txt)  删除

       1.  Sed   ‘1,4d’  hudie.txt             //删除1-4

       2.  sed    ‘/La/d’    hudie.txt         //删除包含La的行

       3.  sed     ‘/La/!d   hudie.txt        //删除不包含La的行

       4.  sed     ‘/^$/d    hudie.txt        //删除空行

       5 Sed     ‘/[0-9]\{3\}/d’    hudie.txt       //把含有三位数的行删除

         显示

        sed  -n    ‘/La/p’   hudie.txt      //显示含有La的行, -n只显示符合样式的数据

         取代

        1.   Sed  -n  ‘s/La/0o/p   hudie.txt     //字符串0o替换La , -p只会替换第一行

        2.   Sed  -n  ‘s/La/0o/gp   hudie.txt   //加上全局命令g ,La全部替换为0o

        4.   sed    ‘s/^…//’  hudie.txt       //删除每一行开头的三个字符

       5  Sed  -n ‘/AAA/s/La/0o/p   hudie.txt        //找到含有AAA的行之后,La替换成0o

        6.   sed -n  ‘/AAA/,/DDD/s/La/0o/p’  huedie.txt  //将含有AAA到含有DDD的那几行中的La替换0o

        7 .  sed  -n  ‘2,4s/La/0o/p        // 由第2行到第4行,皆将其中的La替换为0o

         增加

   1.    sed '1a haha'              //第一行后增加字符串"haha"

   2.    sed '1,3a haha' ab       //第一行到第三行后增加字符串"haha" 

   3.    sed -i '$a byebye' hudie.txt        //在文件ab中最后一行直接输入"byebye"

   4.    sed '1,2c Hi'  hudie.txt              //第一行到第二行代替为Hi

     

       
     "

     

阅读(322) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~