我有大型文本文件(有些是大型)例子我想知道是否有比在 Mac OSX 上使用 PyCharm 或 SublimText 2 更有效的方法来应用正则表达式。
谢谢。
评论:我想替换的东西不仅仅是搜索。欢迎举个例子。
答案1
最有效的搜索方式grep
可能是ag
,像这样:
grep -E "pattern" files
最有效的替换方式是sed
,如下所示:
sed -e "s/pattern/replacement/g" <input.txt >output.txt
但是,这些方法要求您使用命令行,而不是花哨的 GUI。
更新
查看您链接的文件后,我意识到使用 grep 或任何其他基于文本的实用程序实际上是错误的方法 - 此文件未压缩时为 150MB,实际上是 CSV 数据。相反,我建议将此 CSV 数据导入某种数据库。对于您的目的,我认为 SQLite 效果最好,但您也可以使用更大的数据库,如 PostgreSQL 或 MySQL。获得非常快速搜索的关键是在要搜索的字段上创建索引。
答案2
将正则表达式应用于大型文本文件的更有效的方法?
我知道的最有效的方法是grep search_expression hugefile
比 Mac OSX 上的 PyCharm 或 SublimText 2
这些都是文本编辑器,并非所有文本编辑器都针对在大型文本文件中进行搜索进行了优化。这不是它们的主要工作。它们可能会执行大量解析(例如语法检测和突出显示)和其他与您的任务无关的工作。
通常情况下,小型专用工具的表现要优于通用工具。