有没有办法在Linux中生成一个范围内的任何大小的文件(以字节为单位提供输入:例如:range1 = 10000000 range2 = 5000000000),用文件列表(作为输入提供的文件夹)中的随机行填充?
我尝试了以下方法来生成一个大文件(1 GB)(从超级用户论坛获得)
openssl rand -out sample.txt -base64 $(( 2**30 * 3/4 ))
split -b 10000 -a 10 sample.txt
这给了我来自 sample.txt 的大量 10K 字节的文件
但是我需要对其进行调整(或者在性能方面比这更好),以便它接受我的输入并以此为基础进行构建。
例子:
文件夹 1/文件 1 包含
sddfas|sdfsda f|dfsdg b| sdf| afsdf
asfsdf|erty|345|rty4|et64|wrt
.
.
.
regbg| f234|sgfgfg|v|||
文件夹 1/文件 2 包含
fs|dfg|hth|dvfbdgh|ryjn|cv
34t|fgsdhb|yttbvx|t8dghfr|grte|vf
.
.
.
sf vcv| ds||||
输出文件应该是
34t|fgsdhb|yttbvx|t8dghfr|grte|vf
asfsdf|erty|345|rty4|et64|wrt
.
.
.
sddfas|sdfsda f|dfsd
注意:输出由前两个文件中的随机行填充,并在达到文件大小限制时退出(从 [1MB,2MB] 中随机选择 - 这意味着允许在 1MB 到 2MB 之间的任何大小,并不意味着任何一个 1MB或 2MB)