我需要编写一个脚本,将某个字符串的所有匹配项替换为目录及其所有子目录中所有文件中的“replaceWithThisNewString”。 怎么办呢?
答案 0 :(得分:3)
find /path/to/dir -type f -exec sed -i 's/original/replacement/g' {} \+
或者,如果您的find
不支持\+
:
find /path/to/dir -type f -exec sed -i 's/original/replacement/g' {} \;
答案 1 :(得分:0)
试试这一行:
find /aDir -type f |xargs sed -i 's/certainString/replaceWithThisNewString/g'
答案 2 :(得分:0)
使用bash4:
shopt -s globstar # if not already enabled
sed -i '/certainString/s/certainString/replaceWithThisNewString/g' **