寻找大型文本文件以测试所有大小的压缩

Sir*_*ran 2 compression text-files

我正在寻找大型文本文件,以测试从1kb到100mb的所有大小的压缩和解压缩。有人可以请我从某个链接下载它吗?

Mar*_*ler 6

您可以从此处下载enwik8和enwik9 。它们分别是用于压缩基准的100,000,000和1,000,000,000字节的文本。对于较小的测试,您始终可以提取其中的子集。


cod*_*key 6

*** 仅限 Linux 用户 ***

可以在 Linux 上使用以下命令生成任意大的文本文件:

tr -dc "A-Za-z 0-9" < /dev/urandom | fold -w100|head -n 100000 > bigfile.txt
Run Code Online (Sandbox Code Playgroud)

此命令将生成一个包含 100,000 行随机文本的文本文件,如下所示:

NsQlhbisDW5JVlLSaZVtCLSUUrkBijbkc5f9gFFscDkoGnN0J6GgIFqdCLyhbdWLHxRVY8IwDCrWF555JeY0yD0GtgH21NotZAEe
iWJR1A4 bxqq9VKKAzMJ0tW7TCOqNtMzVtPB6NrtCIg8NSmhrO7QjNcOzi4N b VGc0HB5HMNXdyEoWroU464ChM5R Lqdsm3iPo
1mz0cPKqobhjDYkvRs5LZO8n92GxEKGeCtt oX53Qu6T7O2E9nJLKoUeJI6Ul7keLsNGI2BC55qs7fhqW8eFDsGsLPaImF7kFJiz
...
...
Run Code Online (Sandbox Code Playgroud)

在我的 Ubuntu 18 上,它的大小约为 10MB。增加行数,从而增加大小,很容易。只是增加head -n 100000部分。所以,比如说,这个命令:

tr -dc "A-Za-z 0-9" < /dev/urandom | fold -w100|head -n 1000000 > bigfile.txt
Run Code Online (Sandbox Code Playgroud)

将生成一个包含 1,000,000 行随机文本的文件,大小约为 100MB。在我的商品硬件上,后一个命令大约需要 3 秒才能完成。

  • 如果您在 Mac 上运行此程序,则必须安装 coreutils `brew install coreutils`,然后使用相同的命令使用 `gtr` 而不是 `tr` (5认同)
  • 嗯,不,根本不是您想要测试压缩机有效性的东西。生成的文本高度重复,并不代表压缩器在现实世界中看到的内容。不要使用这个答案。请参阅其他答案中的压缩语料库。 (3认同)
  • 在 MacOS 上导致“tr:非法字节序列”。 (2认同)

小智 5

而且不要忘记语料库的集合

The Canterbury Corpus
The Artificial Corpus
The Large Corpus
The Miscellaneous Corpus
The Calgary Corpus
The Canterbury Corpus
Run Code Online (Sandbox Code Playgroud)

查看:http : //corpus.canterbury.ac.nz/descriptions/

每个集合都有可用文件的下载链接