【发布时间】:2015-07-14 19:45:01
【问题描述】:
我有很多不同项目的目录。在一些项目目录下,有名为“matlab_programs”的子目录。仅在名为 matlab_programs 的子目录中,我想在以 *.m 结尾的文件中将字符串 'red' 替换为 'blue'。
以下 perl 代码将递归替换所有 *.m 文件中的字符串,无论文件位于哪个子目录中。
find . -name "*.m" | xargs perl -p -i -e "s/red/blue/g"
并找到所有名为 matlab_programs 的目录的完整路径,
find . -type d -name "matlab_programs"
如何组合这些,以便仅在文件位于名为 matlab_programs 的子目录中时替换字符串?
【问题讨论】: