实例:把一个/oldboy目录及其子目录所有的扩展名.sh结尾的文件中包含oldboy的字符全部替换为beautiful

时间:2024-06-02 12:20:30

sed命令替换

例:命令 sed -i s#123#345#g a.txt     注:将a.txt文件中的内容123换成345,#是分隔符可以用/@替换


sed的搭配字符
命令 功能
s 查找并替换
g 与s联合用,对当前全局匹配替换
-e 允许多项编辑
-i 修改文件内容

方法一:

1,先创建一个文件oldboy,在oldboy文件中创建一些内容为oldboy的.sh文件,然后查看目录,操作为:实例:把一个/oldboy目录及其子目录所有的扩展名.sh结尾的文件中包含oldboy的字符全部替换为beautiful

2,查看oldboy下的文件:find /oldboy -type f,会显示oldboy文件下所有的文件,输入find /oldboy -type f -name "*.sh",查看oldboy文件下所有的.sh文件

3,查看oldboy文件下所有的.sh文件的内容,输入:find /oldboy -type f -name "*.sh"|xargs cat实例:把一个/oldboy目录及其子目录所有的扩展名.sh结尾的文件中包含oldboy的字符全部替换为beautiful

(xargs cat相当于cat /oldboy/t.sh /oldboy/test.sh /oldboy/a.sh,xargs意思是cat一串文件,是一个数据流)

4,查找替换oldboy为beautiful命令为: find /oldboy -type f -name "*.sh"|xargs sed 's#oldboy#beautiful#g' 

(这只是查看的时候替换并没有修改文件内容)

5,修改替换内容为beautiful命令为: find /oldboy -type f -name "*.sh"|xargs sed -i  's#oldboy#beautiful#g' ,回车完成操作

方法二:(1-4同)

5,修改替换内容为beautiful命令为:sed -i  's#oldboy#beautiful#g'  `find /oldboy -type f -name "*.sh"`

(先执行find查找.sh文件然后执行sed修改内容为beautiful)

6,查看操作结果:find /oldboy -type f -name "*.sh"|xargs cat