首页 > 系统服务 > 详细

Linux学习笔记8_三剑客命令的sed命令复习(替换)

时间:2017-08-09 00:52:07      阅读:246      评论:0      收藏:0      [点我收藏+]

需求:把目录下的所有.sh文件中的内容替换

实现:


ls /data

a.txt  b.sh  c.sh  d.info


方法1

-----------------------------------------------------------

先查看替换前内容

find -type f -name "*.sh" |xargs cat    

before

before


测试替换结果,sed无参数时仅打印输出

find -type f -name "*.sh" |xargs sed ‘s#before#after#g‘    

after

after


-i参数为在文件中进行替换修改

find -type f -name "*.sh" |xargs sed -i ‘s#before#after#g‘   


查看替换后内容

find -type f -name "*.sh" |xargs cat   

after

after


注:

|xargs 理解为将管道前输出处理成后续命令的参数(汇成单行)输入

若直接 |cat,则cat只会把管道前的输出当作文本处理

-----------------------------------------------------------



方法2

-----------------------------------------------------------

sed -i ‘s#before#after#g‘ `find -type f -name "*.sh"`


等价于:

sed -i ‘s#before#after#g‘ /data/b.sh /data/c.sh


注:

``符号内的内容先执行

``符号为“Tab键”上面的按键符号,反引号(?)

-----------------------------------------------------------




Linux学习笔记8_三剑客命令的sed命令复习(替换)

原文:http://tripe.blog.51cto.com/2248780/1954636

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!