sed

sed

sed与grep比较,sed能实现grep功能,但是比较麻烦,而且没有颜色显示;sed优势在于替换一些指定的字符。

用sed实现grep匹配的功能,匹配关键词用//,-n作用是只显示我们要打印的行

sed

sed还支持. * + 等特殊符号

sed

sed -nr '/o{2}/'p passwd.bak,匹配两次o

sed

sed -nr '/root|sbin/'p passwd.bak,匹配或者的用法

sed

sed -n '1'p passwd.bak ,打印指定的行; sed -n '1,3'p passwd.bak,打印1-3行;sed -n '20,$'p passwd.bak,打印20行到末行,$表示末行

sed

 sed -n '1,$'p passwd.bak,全部打印出来

sed -e用法,在一行里执行多条命令

sed -e '1'p -e '/root/'p -n passwd.bak,先打印第一行,然后再匹配含有root的行

sed

sed -e '1'p -e '/root/'p -e '/oo*/'p -n passwd.bak ,执行多条命令

sed -n '/bus/'Ip passwd.bak,匹配不区分大小写


sed删除指定的行

sed '1,20'd passwd.bak,删除打印出来的1-20行,实际上并没有删掉文件内容

sed

加上-i,可以直接删除文件内容

sed

sed

sed查找替换,与vim类似;sed '1,10s/root/toor/g' passwd.bak,s表示替换关键词,g表示全局替换

sed

sed -r '1,10s/ro+/r/g' passwd.bak,替换的字符串能识别正则表达式

sed

sed -r 's/([^:]+):(.*):([^:]+)/\3:\2:\1/' passwd.bak |head,替换每行第一段和最后一段字符串的位置,以冒号为参考对象,小括号里的内容用\1、\2、\3表示

sed

sed 's/\/root/123/g' passwd.bak |head,将/root替换成123,要用脱义符号\

sed

sed

或者把分隔符/换成#和@来区分

sed

sed 's/[a-zA-Z]//g'删除文件中所有英文字母

sed

sed -r 's/(.*)/aaa:&/' ,在所有行前面加上固定字符串,&表示前面小括号内的内容

sed





相关文章:

猜你喜欢
  • 2022-01-28
  • 2021-12-19
相关资源
相似解决方案