【问题标题】:How to generate random number of garbage files of random size [duplicate]如何生成随机数量的随机大小的垃圾文件[重复]
【发布时间】:2018-09-05 16:12:08
【问题描述】:

我正在尝试编写一个脚本,该脚本将生成随机数量的随机长度的垃圾文件。理想情况下,1-50 个长度为 100Kb-100Mb 的文件。我已经编写了这个脚本,但只生成了 2 个文件。我还希望文件名是字符串“RanDoM”,后跟一个随机数。

我做错了什么?

#!/bin/bash

ntimes=$(( ( RANDOM % 50 )  + 1 ))

for i in {1.. $ntimes}
do
   dd if=/dev/urandom of=$RANDOM bs=1K count=$(((RANDOM % 10000) + 1))
done

【问题讨论】:

  • 使用稀疏文件? seq 50 | xargs -I XXX bash -c 'truncate -s ${RANDOM}b file.XXX'

标签: bash


【解决方案1】:

构造 {1..$var} 不起作用,因为大括号扩展发生在变量扩展之前。从 bash 手册页:

   The order of expansions is: brace expansion; tilde expansion, parameter
   and  variable expansion, arithmetic expansion, and command substitution
   (done in a left-to-right fashion); word splitting; and pathname  expan-
   sion.

您可以使用seq 等外部工具获得您想要的功能:

for i in $(seq 1 $ntimes); do
  dd ...
done

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-23
    • 2012-01-23
    相关资源
    最近更新 更多