linux sed命令详解 - Go语言中文社区

linux sed命令详解


//删除文件第二行 d命令
#sed '2d' text.txt  

//打印从第五行开始到第一个包含以w1开始的行之间的所有行  p命令
#sed -n '5,/^w1/p'

#所有在模板test和check所确定的范围内的行都被打印。
sed -n '/test/,/cat/p' text.txt 


//多点编辑:e命令  第一条命令删除1至5行,第二条命令用w1替换w2
#sed -e '1,5d' -e 's/w1/w2/' text.txt 

//选定行的范围:逗号, sed 截图某时间到某时间之间的日志
sed -n '/2016-03-01 10:00/,/2016-03-01 12:15:/p' /mnt/resource/catalina.out > /tmp/catalina.out.20160301


//全局替换zk.properties文件中的内容
-i 表示inplace edit,就地修改文件
-r 表示搜索子目录
-l 表示输出匹配的文件名
grep -rl 172.16.100.33 /opt/tomcat/webapps/ROOT/WEB-INF/classes/sysconfigs/zk.properties | xargs sed -i s/172.16.100.33/172.16.100.59/g  

//将分隔符换成问号”?”:
sed 's?原字符串?替换字符串?'

//一个示例文件

[root@test-test-mysql-01 scripts]# cat text.txt 
w1 w1 w1 w1 w1 w1
test my car w1
w1 w1 w1
w1

sed 's/^/添加的头部&/g'   #在所有行首添加
[root@test-test-mysql-01 scripts]# sed 's/^/添加的头部&/g' text.txt 
添加的头部w1 w1 w1 w1 w1 w1
添加的头部
添加的头部test my car w1
添加的头部
添加的头部w1 w1 w1
添加的头部
添加的头部w1

sed 's/$/&添加的尾部/g' text.txt  #在所有行末添加
[root@test-test-mysql-01 scripts]# sed 's/$/&添加的尾部/g' text.txt
w1 w1 w1 w1 w1 w1添加的尾部
test my car w1添加的尾部
w1 w1 w1添加的尾部
w1添加的尾部

//以下大家自己执行实践一下
sed '2s/原字符串/替换字符串/g'  #替换第2行
sed '$s/原字符串/替换字符串/g'   #替换最后一行
sed '2,5s/原字符串/替换字符串/g' #替换2到5行
sed '2,$s/原字符串/替换字符串/g' #替换2到最后一行

//(-n)选项和p标志一起使用表示只打印那些发生替换的行。 
#sed -n 's/^w1/w2/p' text.txt


//全局替换文件中car 字符串后的wl 后追加w2 
[root@test-test-mysql-01 scripts]# sed -e '/car/s/w1/&w2/g' text.txt 
w1 w1 w1 w1 w1 w1
test my car w1w2
w1 w1 w1
w1

//在文件中w1后面追加w2,且只有第一次出现w1的时候
[root@test-test-mysql-01 scripts]# sed -e 's/w1/&w2/1' text.txt  
w1w2 w1 w1 w1 w1 w1
test my car w1w2
w1w2 w1 w1
w1w2

备注:我的个人公众号已正式开通,致力于测试技术的分享,包含:功能测试,测试开发,API接口自动化、测试运维、UI自动化测试等,微信搜索公众号:“无量测试之道”,或扫描下方二维码:

添加关注,一起共同成长吧。

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_41754309/article/details/86483862
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-04-19 13:11:38
  • 阅读 ( 1250 )
  • 分类:Linux

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢