【发布时间】:2015-12-02 18:10:02
【问题描述】:
我正在使用 find 和 sed 命令替换文件中的字符。见下面的代码1
find . -type f -exec sed -i '/Subject/{:a;s/(Subject.*)Subject/\1SecondSubject/;tb;N;ba;:b}' {} +
鉴于我需要替换多个文件。在特定情况下,我尝试替换的主题不可用。 有没有办法我可以先检查文件是否包含属性“主题”,如果没有,我需要执行另一个命令。即
检查文件是否包含字符“主题”
如果为真则执行上面的code1
如果没有Subject的实例,执行下面的代码2
find . -name "*.html" -exec rename 's/.html$/.xml/' {} ;
有什么想法吗?提前致谢
【问题讨论】:
-
在这种情况下使用
grep -r -l而不是 find