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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux学习笔记8_三剑客命令的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键”上面的按键符号,反引号(?)

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




以上是关于Linux学习笔记8_三剑客命令的sed命令复习(替换)的主要内容,如果未能解决你的问题,请参考以下文章

三剑客之 sed详解

三剑客之 sed详解

linux文本三剑客之sed命令详解

Linux三剑客——sed命令简述

linux基础学习-7.5-基础命令

Linux学习42 必备技能-文本处理神器sed命令应用与实战