当前位置: 首页 > 知识库问答 >
问题:

linux - windows 下 有没有针对 大文本文件(10M-50M) 搜索模式匹配文字的 高性能命令行工具 ?

欧阳高昂
2024-07-08

windows 下 有没有针对 大文本文件(10M-50M) 搜索匹配文字的 高性能工具??

支持: 1. 正则,大小写等规则。 支持搜索中文。是命令行工具不是软件。

  1. 性能要高,命令行执行命令能快速返回结果
  2. windows的find 不支持正则,findstr存在很多问题,如果文件不是 ANSI 编码,在搜索中文时会不准确。

https://stackoverflow.com/questions/60895277/is-there-a-way-to-use-findstr-with-non-ascii-in-this-case-japanese-chinese-cha

目前看到尚未尝试的方案:

  1. 安装 https://gnuwin32.sourceforge.net/packages/grep.htm win_grep 软件,不知道效果怎么样

共有2个答案

小牛23148
2024-07-08

我用的工具也不多,试了下在七年前的轻薄本上,用 busyboxMsys2 里的 grep

100 MB (GBK) / 150 MB (UTF-8) 的小说里,所有超过 10 的中文数字:

  1. 650 KB 的 BusyBox for Windows

    可以处理中文,但实际上不认识 Unicode,全部当 ascii 看待。
    所以正则 [] 里,无法使用 Unicode 字符,只能用 16 个分支的形式,匹配有点慢。
    如果源文件是 UTF-8,正则也需要转成 UTF-8

  1. Msys2

    认识 UTF-8,正则只用一个分支,即使文件大一半,速度也快一倍。。

如果两个都不满意,建议上 Github 看看,有啥针对 Windowsgrep 工具吗。。

陆子航
2024-07-08

觉的GNU工具好用为什么不装msys2或者cygwin呢?有大量的GNU工具可以使用,生产力太高了

 类似资料:
  • dir=“某物”\temp。 我是新来的,任何帮助都很感激。我认为这是字符转义…但我不确定,我想使用正则表达式,但我想我会遇到同样的问题。 预期 C:\\users\\admin\\appdata\\local\\ dir=c:\\users\\admin\\appdata\\local\\temp

  • 我正在编写一种方法来搜索列表形式的文字文件,搜索用户输入的文字,但如果找到一个字母,程序将返回一个肯定的结果。例如,如果我搜索“f”,当没有单词时,它将返回字典中有一个单词“f”

  • 类似定位器参数,文本模式是另一种常用的 Selenium 命令参数。需要使用文本模式的命令,例如:verifyTextPresent, verifyTitle, verifyAlert, assertConfirmation, verifyText, verifyPrompt。上面已经提到,LinkText 定位器可使用文本模式。文本模式使用特殊字符来模糊匹配预期的文本,而不必准确的描述该文本。

  • windows 有没有类似 linux 的 .bashrc 文件可以自定义命令? 我要定义很多的快捷命令,我现在的方式一个方法定义一个 .bat 文件放到系统环境变量的目录里,但是这很麻烦,能否有个文件可以放所有的定义方法?

  • 问题内容: 我需要在linux系统上找到’filename.ext’的所有实例,并查看哪些实例包含文本’lookfor’。 有一套可以使用的linux命令行操作吗? 问题答案: 使用a 来终止命令比因为将整批文件发送到而不是一个一个地发送文件来效率更高。这样可以避免为找到的每个单个文件派生/执行。 不久前,我做了一些测试以比较vs vs 的性能,发现速度更快。这是我的一些结果:

  • 朋友们,我有一段代码,它读取文本文件并搜索匹配的单词,但在搜索文本文件时存在不确定性。有时它能够匹配单词,有时它不能,尽管单词存在于文本文件中。 代码如下: 以下是我的文本文件内容: 有人知道为什么会这样吗?假设我在文本文件中添加一个单词“finish”,然后搜索它,它总会找到它。但是,如果我的搜索词是“dadas”或“dadist”,则在et中生成null。

  • 问题内容: 我有很多小文本(说大约500个单词)和两个数据库,每个数据库大约有10.000个条目(关键字)。 现在,我想处理每个文本,并找出文本中包含哪些关键字(保存在2个数据库中的关键字)。 你们中的某人是否有有效地做到这一点的好方法? 我想对每个文本进行处理并对其进行索引(也许使用lucene),然后再针对它搜索数据库,但是我真的不知道lucene是否是正确的工具。 问题答案: Lucene正

  • 我有几个产品的变化,像下面的一个 我正在寻找一个具有以下所有参数的查询 获取某个类别中的所有产品 获取所有黑色的产品 获取尺寸l和M 我当前的查询: 它的工作很好,如果我只搜索1个大小。但是一旦我搜索了2个尺寸,它就不会给出任何记录。我的猜测是,它在每个嵌套变体中寻找所有3个参数,显然它找不到。如何修改要搜索的查询 null 我的第二个问题: