9 我正在寻找OS X工具,该工具可让我搜索并替换多个文件中的搜索字符串。要求如下: 搜索和替换 按正则表达式搜索 搜索多个文件 搜索嵌套目录结构 替换表达式可以使用搜索中的值(正则表达式) 该工具具有易于使用的用户界面 最好免费 我知道有些文本编辑器(如BBEdit)具有此功能,但我希望使用一种轻巧的工具,不需要我先打开文件即可进行编辑。 如果没有满足这些要求的工具,我还将考虑使用命令行替代方法。我知道perl并sed支持类似的东西- 在这种情况下,我可以定义为Bash 别名或函数的解决方案将受到欢迎。 macos applications software-recommendation search utilities — 温克勒 source
9 我通常使用TextMate: TextMate(1)是/曾经是购买产品,但是TextMate 2目前正在gitHub上进行积极的开源开发,并且可以免费使用。 — childno͡.de source
5 我用的是Sublime Text,太好了! 崇高文字: 可以免费评估(没有时间限制) 可以搜索和替换 可以按正则表达式搜索 可以搜索多个文件 可以搜索嵌套目录结构 可以在替换表达式中使用搜索中的值 具有易于使用的用户界面 — 麦克风 source 1 您能否更具体一点,并描述SublimeText如何解决问题中所述的问题? — nohillside 他们的网站(提供的链接告诉您一切),但是...您可以免费评估(没有时间限制)搜索并替换-是。按正则表达式搜索-是。搜索多个文件-是。搜索嵌套目录结构-是。替换表达式可以使用搜索中的值(正则表达式)-是。该工具具有易于使用的用户界面-是。最好是免费-是(某种)。 — Mike
3 除了使用文本编辑器的其他解决方案之外,我还发现了FAR-查找和替换工具,这是一个多平台查找和替换工具。它不是最漂亮的,但看起来确实可以满足我的需求。 http://findandreplace.sourceforge.net/ — 温克勒 source
2 我经常这样使用Ruby脚本: Dir["**/*.txt"].each { |f| IO.write(f, IO.read(f).gsub(/search/, "replace")) } 或者你可以使用gets(nil)同-i: ruby -i -e 'print gets(nil).gsub(/search/, "replace")' *.txt 如果安装Bash 4并启用globstar,则也可以**在shell中使用: sed -i '' 's/search/replace/g' **/*.txt — 里 source
1 正是这样sed写的,它符合您的所有要求,只是学习曲线有些陡峭。 要获得更平缓的学习曲线,请尝试使用BareBones的TextWrangler。它使用BBEdit文本引擎,并且我相信它具有老大哥的完整搜索和替换功能。 — ⱮarkƬ source 1 我对一些bash编程和脚本很熟悉,但是从未使用过任何高级的东西sed。您能否提供一个示例,说明如何使用它sed来替换一系列文件中的文本,例如上述(当前)ruby答案中的文本? — nwinkler
-1 看看我的“应用搜索和替换”。您可以在多个文件或目录上使用它,保护搜索/替换字符串,并可以使用正则表达式。 — 汤玛士 source 这是如何工作-为什么更好的是它比其他的答案-请提供超过一个链接 — user151019 1 嗨,欢迎问不同!尽管我们不介意开发人员在解决出现的问题时会推荐他们的产品,但我们确实要求您提供清晰的背景信息,说明您的产品为什么是答案以及它如何解决问题。有关如何询问不同和StackExchange Q&A格式的更多信息,请参见常见问题解答。 — 伊恩·C( 我猜它具有与此处推荐的其他工具相同的功能。区别在于您具有GUI,并且可以保存包含搜索/替换字符串的文件。它具有nwinkler要求的所有功能。它可以跨多个文件/嵌套目录结构搜索和替换(也使用正则表达式),并且具有(至少我认为是)易于使用的GUI。 — thomasguenzel 2014年