当前位置:   article > 正文

linux下用sed批量替换多个文件中的字符串_linux sed 同时替换几个文件的字符

linux sed 同时替换几个文件的字符

sed

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

sed '样式命令'  文件 
   
   
  • 1
  • 1
  • 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 表示就地处理,将结果存回原文件。

0
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/265018
推荐阅读
相关标签
  

闽ICP备14008679号