我使用以下命令递归搜索目录中的特定字符串,并将其替换为另一个字符串:
grep -rl oldstr path | xargs sed -i 's/oldstr/newstr/g'
这没问题.唯一的问题是,如果字符串不存在,那么sed
将失败,因为它没有任何参数.这对我来说是个问题,因为我用ANT自动运行这个程序,而构建失败是因为sed
次失败.
如果找不到字符串,有没有办法使其防故障?
我感兴趣的是一个可以使用的单行简单解决方案(不一定是grep
或sed
,而是像这样的常见unix命令).