咸鱼的鱼

导航

企业面试题-find结合sed查找替换

题:把/oldboy目录及其子目录下所有以扩展名.sh结尾的文件中包含oldboy的字符串全部替换成oldgirl

解答:

建立测试数据:

[root@tan data]# mkdir /oldboy/test/ -p

[root@tan data]# cd /oldboy

[root@tan data]# echo 'oldboy' > test/del.sh

[root@tan data]# echo 'oldboy' > test.sh

[root@tan data]# echo 'oldboy' > t.sh

[root@tan data]# tree

  

  

  

  

  

sed 's#oldgirl#gongli#g' oldboy.sh
s表示替换
g表示全局替换,即整个文件的内容都要替换
三个#:分隔符。
    理论上#,可以用任意字符替代,但是我们一般都喜欢用#、\

's#【oldgirl】#【gongli】#g':前面是要替换的内容,后面是替换后的内容

文件里的内容没有改,只是输出改了

 

  

sed -i 's#oldgirl#gongli#g' test.sh
-i:修改文件的内容

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

    

    

    

    

    

posted on 2019-04-06 21:25  Holy_Shit  阅读(149)  评论(0编辑  收藏  举报