How to create multiple files with random data with bash

前端 未结 3 1408

How do I create multiple files (More than 20k, I need these files to run a test for syncying) with random data in OS X? I used a previously answered question (How Can I Create

相关标签:
3条回答
  • 2021-02-04 13:04

    The reason your approach doesn't work is that the default suffix for split (2 alphabetic characters) isn't a big enough namespace for twenty thousand files. If you add a couple of options:

    dd if=/dev/random bs=1 count=40000 | split -b 2 -d -a 5
    

    (where -d means "use digits, not alphabetic characters, for the suffix" and -a 5 means "use suffixes of length 5"), it ought to work fine - I tested it with /dev/urandom (for speed) on a GNU/Linux machine without problems.

    Note that this is much faster than the for-loop approach of the other answers (2.5 seconds versus 43 seconds for Carl Norum's answer on my machine).

    0 讨论(0)
  • 2021-02-04 13:13

    Not sure if you have any file naming requirements, but perhaps this:

    for x in {1..20000}; do
      dd if=/dev/random of=test$x.dat bs=10000 count=4
    done
    
    0 讨论(0)
  • 2021-02-04 13:21

    You can do it with a shell for loop:

    for i in {1..20000}; do dd if=/dev/urandom bs=1 count=1 of=file$i; done
    

    Adjust count and bs as necessary to make files of the size you care about. Note that I changed to /dev/urandom to prevent blocking.

    You can add some >/dev/null 2>&1 to quiet it down, too.

    0 讨论(0)
提交回复
热议问题