sed命令例子详解

sed -e '/Patricia/h' -e '/Margot/x' datafile    包含Margot的行将被包含Patricia的行替换;

sed -e /WE/{h;d;}' -e '/CT/{g;}' datafile      所有包含WE模式的行将移动到包含CT的行并进行覆盖;

sed -e '/northeast/h' -e '$g' datafile        包含模式northeast的行被复制并被用来替换文件的最后一行;

sed -e '/WE/{h;d;}' -e '/CT/{G;}' datafile     所有包含模式WE的行都被移出原位置,移动到包含CT的行后面;

sed -e '/northeast/h' -e '$g' datafile      所有包含northeast的行都被复制并追加到文件尾部;

sed '/Lewis/{s/Lewis/Joseph/;q;}' datafile      在某行匹配到Lewis时,s表示先用Joseph替换Lewis,然后q命令让sed程序退出;

sed '5q' datafile               打印完第五行之后退出,q命令让sed程序退出;

sed ‘1,3y/abcdefghijklmnoprstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/’ datafile   y命令把1-3行中所有的小谢字母转换成大写,正则表达式元字符对y命令不起作用。与替换分隔符一样斜杠可以被替换成其他字符;

sed ‘/eastern/{n;s/AM/Archie/;}’ datafile    如果在某一行匹配到模式eastern,n命令就指示sed用下一个输入行(即包含AM Main Jr的那行)替换模式空间中的当前行,并用Archie替换该行中的AM,然后打印该行,再继续往下处理

sed ‘/eastern/c THE EASTERN REGION HAS BEEN TEMPARIangLY CLOSED’ datafile  如果模式eastern被匹配,c命令将用后面的文本替换包含eastern所在的行;

sed '/eastern/i NEW ENGLAND REGION' datafile    如果在某一行匹配到eastern,i命令就在该行的上方插入命令中i后面的文本;

sed '/^north /a THE NORTH SALES DISTRINCT HAS MOVED' datafile  a后面的文本被追加在以north开头并跟一个空格的行的后面一行;

sed -n '/north/w newfile' datafile        文件datafile中所有包含模式north的行都被写到文件newfile中;

sed -e '1,3d' -e 's/Hemenway/Jones/' datafile  第一重编辑删除1-3行,第二重编辑在删除之后的内容中将Hemenway用Jones进行替换;

sed '/west/,/east/s/$/**VACA**/' datafile      修改模式east和west之间的所有行,将各行的行尾($)替换字符**VACA**;

sed -n '5,/^north'east/p' datafile        打印从第五行到第一个以northeast开头 的行之间的所有行;

sed -n '/west/,/east/p' datafile         打印模式west和east之间的所有行,如果w est出现在east之后的某一行,则打印范围从west所在的行开始,到下一个出现east的行或者文件末尾;

sed -n 's/Hemenway/Jones/gp' datafile     文件中出现所有Hemenway都被替换成Jones,只有发生变化的行才被打印。选项-n与命令p结合取消默认的输出;    

sed 's#3#88#g' datafile            新的分隔符;

sed -n 's/\(Mar\)got/\1ianne/p' datafile       包含在圆括号中的Mar作为标签1保存于特定的寄存器中,替换串可通过\1引用;

sed 's/[0-9][0-9]$/&.5/' datafile         所有以两位数结尾的后面加.5;

sed -n 's/^west/north/p' datafile         找到以west行首的行并将其替换为north,才打印此行;

sed 's/west/north/g' datafile          全局替换;

sed '/north/d' datafile             包含模式nort的行都被删除,其余的行被打印;

sed '$d' datafile                删除最后一行,其余的被打印;

sed ‘3,$d’datafile              删除从第三行到最后一行的内容;

sed ‘3d’ datafile               删除第三行;

sed  -n ‘/north/p’ datafile          只打印包含模式north的行,其他的行不打印出来;

sed -n '/north/p' datafile            打印出所有的行若某一行匹配到则再打印一次;

 

转载于:https://www.cnblogs.com/cf532088799/p/7658971.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值