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
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).
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
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.