码迷,mamicode.com
首页 > 系统相关 > 详细

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

时间:2017-08-09 01:09:36      阅读:230      评论:0      收藏:0      [点我收藏+]

标签:linux

需求:把目录下的所有.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命令复习(替换)

标签:linux

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

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