我正在使用以下内容以递归方式在目录中搜索特定的字符串,并将其替换为另一个:
grep -rl oldstr path | xargs sed -i 's/oldstr/newstr/g'
这样可以。唯一的问题是,如果字符串不存在,则sed
失败,因为它没有任何参数。这对我来说是个问题,因为我正在使用ANT自动运行此操作,并且由于sed
失败而导致构建失败。
如果找不到该字符串,有没有办法使它失效?
我对我可以使用的单行简单解决方案感兴趣(不一定与grep
或sed
与此类通用unix命令一起使用)。