【问题标题】:How Can I Create Multiple Files of Random Data?如何创建多个随机数据文件?
【发布时间】:2013-04-14 15:25:18
【问题描述】:

我一直在使用dd if=/dev/random of=<file_name> bs=XX count=XX 创建随机数据的单个文件。但我想知道如何一次创建多个文件。说 5、10 或 80,000。我需要做一些带宽测试并且需要独特的数据。上面的代码适用于 1 或 2 个文件。我的编程(Python)和终端技能仍然很低。

任何帮助都会很棒。

【问题讨论】:

    标签: macos file random


    【解决方案1】:

    人分裂。

    Split 根据文件大小或行数将一个文件或标准输入拆分为多个文件。它不会“一次”或同时发生。

    dd if=/dev/random bs=1 count=10 | split -b 2 产生 5 个文件 xaa,xab..xae,每个文件由 2 个字节组成。

    【讨论】:

    • 优秀。我不太喜欢计算需要将文件拆分成多少字节,但它工作得很好。如果有更好的论据可以通过,那就太好了,因为我正在拆分高达数百 GB 的文件。但如果没有,我会管理的。谢谢!
    【解决方案2】:

    我会为此使用GNU Parallel。命令行语法非常直观和简洁,它可以并行完成所有工作,即 FAST,并使用 Mac 中所有可爱的 CPU 内核。

    因此,要并行创建 8 个文件,每个文件 100MB,您可以在终端中输入:

    $ parallel dd if=/dev/random of=random-{} bs=1000000 count=100 ::: {0..7}
    

    您将在 60 秒后得到这 8 个文件:

    $ ls -l random-*
    
    -rw-r--r--@ 1 mark  staff  100000000 19 Dec 11:52 random-0
    -rw-r--r--@ 1 mark  staff  100000000 19 Dec 11:52 random-1
    -rw-r--r--@ 1 mark  staff  100000000 19 Dec 11:52 random-2
    -rw-r--r--@ 1 mark  staff  100000000 19 Dec 11:52 random-3
    -rw-r--r--@ 1 mark  staff  100000000 19 Dec 11:52 random-4
    -rw-r--r--@ 1 mark  staff  100000000 19 Dec 11:52 random-5
    -rw-r--r--@ 1 mark  staff  100000000 19 Dec 11:52 random-6
    -rw-r--r--@ 1 mark  staff  100000000 19 Dec 11:52 random-7
    

    或者,如果您想要一个 1kB 的文件、两个 64kB 的文件、一个 32kB 的文件和一个 128kB 的文件,您可以这样做:

    $ parallel dd if=/dev/random of=random-{%} bs=1024 count={1} ::: 1 64 64 32 128
    

    这会给你这个:

    -rw-r--r--   1 mark  staff  131072 19 Dec 12:10 random-5
    -rw-r--r--   1 mark  staff   32768 19 Dec 12:10 random-4
    -rw-r--r--   1 mark  staff   65536 19 Dec 12:10 random-3
    -rw-r--r--   1 mark  staff   65536 19 Dec 12:10 random-2
    -rw-r--r--   1 mark  staff    1024 19 Dec 12:10 random-1
    

    在我看来,在 OSX 上安装parallel 最简单的方法是从the homebrew website 获取homebrew,那么你要做的就是:

    brew install parallel
    

    【讨论】:

      猜你喜欢
      • 2013-06-06
      • 1970-01-01
      • 2018-08-20
      • 2015-07-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-04
      相关资源
      最近更新 更多