首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何进行grep和替换

如何进行grep和替换
EN

Stack Overflow用户
提问于 2013-03-14 14:39:15
回答 7查看 420.9K关注 0票数 304

我需要递归地在一个目录内的所有文件和子目录中搜索指定的字符串,并用另一个字符串替换这个字符串。

我知道查找它的命令可能如下所示:

代码语言:javascript
复制
grep 'string_to_find' -r ./*

但是如何将string_to_find的每个实例替换为另一个字符串呢?

EN

回答 7

Stack Overflow用户

发布于 2013-03-14 14:53:32

另一种选择是使用find,然后通过sed传递它。

代码语言:javascript
复制
find /path/to/files -type f -exec sed -i 's/oldstring/new string/g' {} \;
票数 277
EN

Stack Overflow用户

发布于 2013-03-14 14:42:44

我知道答案了。

代码语言:javascript
复制
grep -rl matchstring somedir/ | xargs sed -i 's/string1/string2/g'
票数 228
EN

Stack Overflow用户

发布于 2014-01-25 15:52:38

这最适合我在OS X上使用:

代码语言:javascript
复制
grep -r -l 'searchtext' . | sort | uniq | xargs perl -e "s/matchtext/replacetext/" -pi

来源:http://www.praj.com.au/post/23691181208/grep-replace-text-string-in-files

票数 35
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15402770

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档