Linux学习笔记_三剑客命令的sed命令复习(sed的替换功能用法)

需求:把目录下的所有.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键”上面的按键符号,反引号(?)

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




©️2020 CSDN 皮肤主题: 大白 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值