当前位置:  开发笔记 > 编程语言 > 正文

Shell脚本以递归方式浏览目录并替换字符串

如何解决《Shell脚本以递归方式浏览目录并替换字符串》经验,为你挑选了2个好方法。

我需要递归搜索目录并将所有文件中的字符串(例如http:// development:port/URI)替换为另一个字符串(例如http:// production:port/URI).有人可以帮忙吗?

如果该脚本可以打印出它修改的文件并将搜索/替换模式作为输入参数,那会好得多.

问候.



1> indentation..:

找 .-type f | xargs sed -is/pattern/replacement/g



2> toolkit..:

试试这个:

find . -type f | xargs grep -l development | xargs perl -i.bak -p -e 's(http://development)(http://production)g'

另一种反馈略多的方法:

find . -type f | while read file
do
    grep development $file && echo "modifying $file" && perl -i.bak -p -e 's(http://development)(http://prodution)g' $file
done

希望这可以帮助.

推荐阅读
虎仔球妈_459
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有