小编Jef*_*rts的帖子

有什么比 grep 更快的吗?

我正在寻找一种比 grep 更快的工具,也许是多线程 grep 或类似的东西......我一直在寻找一堆索引器,但我并没有因为我需要一个索引而出售......

我有大约 1 亿个文本文件,我需要对精确的字符串匹配进行 grep,在找到字符串匹配时,我需要找到匹配的文件名。

ie: grep -r 'exact match' > filepaths.log
Run Code Online (Sandbox Code Playgroud)

它大约有 4TB 的数据,我在 6 天前开始了我的第一次搜索,grep 仍在运行。我还有十几个搜索要进行,我等不及 2 个月才能检索所有这些文件名 =]

我已经审查了以下内容,但是,我认为我不需要这些索引器附带的所有花里胡哨,我只需要匹配发生的文件名......

  • 搜索
  • 琉森
  • 夏平
  • 畏缩
  • 狮身人面像

在花了几个小时阅读所有这些引擎之后,我的头在旋转,我希望我只有一个多线程 grep 哈哈,非常感谢任何想法和/或建议!

PS:我运行的是 CentOS 6.5

编辑:搜索多线程 grep 会返回几个项目,我的问题是,多线程 grep 是我正在做的事情的最佳选择吗?

EDIT2:经过一些调整后,这就是我想出的,它比常规的 grep 运行得快得多,但我仍然希望它更快……我正在看着我的磁盘 io 等待,它尚未建立,我可能会做更多的调整,并且仍然对任何建议感兴趣 =]

find . -type f -print0 | xargs -0 -n10 -P4 grep -m 1 -H -l 'search string'
Run Code Online (Sandbox Code Playgroud)

search grep search-engines file-search search-indexing

8
推荐指数
1
解决办法
2万
查看次数

OS X 不同桌面的不同 Dock

无论如何,或者是否有任何软件可以让我为每个桌面拥有不同的扩展坞...

意思是,我只想看到该桌面上为该停靠栏打开的窗口...

任何信息都非常感谢

desktop dock macos

6
推荐指数
1
解决办法
5968
查看次数

Linux Ext4 文件系统需要说明,1900 万个 1 字节文件等于 80+GB?

这是交易,我正在为我的爬虫检查域名,我有 1.45 亿个域名要即时进行欺骗检查。

存储消耗:

80GB for 19 million files
Run Code Online (Sandbox Code Playgroud)

为此,我从域的前四个字母创建一个目录结构,然后创建一个单字节文件,表示我以前见过这个域。

s/u/p/e/superuser.com
Run Code Online (Sandbox Code Playgroud)

我创建了像上面这样的目录结构,以防止任何目录中包含不合理数量的文件......

域/文件位置详细信息:

Domain: superuser.com
Root Directory: /home/tmc/tech/Data/Dupes/Domains/
Directory: s/u/p/e/
File Path: s/u/p/e/superuser.com
File Contents: .
Run Code Online (Sandbox Code Playgroud)

现在,我强烈怀疑存储使用在某种程度上与创建的目录和文件的数量有关,但是,仅创建目录不会导致极端的存储使用,因此它与填充这些目录有关,再次,我试图弄清楚这一点,这就是我此时怀疑的。

有人可以向我解释 linux ext4 文件系统如何在与目录、文件和带有文件的填充目录相关的存储消耗方面工作吗?

linux ssd filesystems ext4

2
推荐指数
1
解决办法
118
查看次数