我正在使用此命令浏览所有文件,目录和子目录,以将oldurl.com
的任何提及更改为newurl.org
:
find . -type f -name '*.php' -exec sed -i 's|oldurl.com|newurl.org|g' {} +
它运行正常但是,我需要从任意更改中排除三个子目录:/cache
,/archive
和/etc
,因为在这些路径中使用上述命令更改URL其他脚本。
没有太多运气找到答案......它甚至可能吗?
非常感谢任何建议/帮助。
答案 0 :(得分:6)
使用查找-not
选项:
find . -type f -name '*.php' -not \( -path './etc/*' -o -path './cache/*' -o -path './archive/*' \) -exec sed -i 's|oldurl.com|newurl.org|g' {} \;