码迷,mamicode.com
首页 > 其他好文 > 详细

sed替换

时间:2020-07-27 13:48:22      阅读:80      评论:0      收藏:0      [点我收藏+]

标签:成功   xargs   打开文件   art   字符   detail   输出   sim   删除   

sed
sed是一种非交互式的流编辑器,可动态编辑文件。vim是打开文件后和用户进行互动操作的,sed是非互动的,它处理的对象是文件的数据流。sed的工作模式是,对每一行数据,若符合样式,就执行指定的操作。
sed工具的语法如下:

sed ‘样式命令‘ 文件
1
意思是,样式匹配成功后就执行指定的命令。它不会更改文件的内容,而是读取文件之后,经过编辑,然后把结果显示到标准输出上。如果想存储执行结果,就得自行将输出转向到指定的其他文件中。
1. sed ‘1,4d’ file
意思:把第一行到第四行之间的数据删除,剩下的显示出来。d是sed的删除命令。
2. sed ‘/La/d’ file
意思:把含有La的行删除,剩下的显示出来。//表示搜索。
3. sed ‘/[0-9]{3}/d’ filename
意思:把含有连续3个数字的行删除。
4. sed ‘/^$/d’
意思:删除空白行。
5. sed ‘/La/!d’ file
意思:把不含有La的行删除,!表示不匹配则执行命令。
6. sed -n ‘/La/p’ file
意思:p是显示命令。把匹配的行显示出来。
7. sed ‘s/La/Oo/g’ file
意思:s是替换命令,将La替换成Oo,g表示全局替换。

单文件替换
sed ‘s/test/zcx/g’ ./test1.dat > result1.dat
意思:替换test1.dat文件中的”test”为”zcx”,将结果输出到result1.dat

多文件替换
grep “test” -rl ./* | xargs sed -i ‘s/test/zhaochaoxing/g’
意思:grep搜索含有字符串”test”的文件,然后对每个文件执行sed命令。xargs存在的意义是避免因grep到的文件过多处理不了时造成溢出。sed -i 表示就地处理,将结果存回原文件。
————————————————
版权声明:本文为CSDN博主「simon-zhao」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u010902721/java/article/details/45980255

sed替换

标签:成功   xargs   打开文件   art   字符   detail   输出   sim   删除   

原文地址:https://www.cnblogs.com/mxmtxc/p/13384281.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!