文件下载地址:链接: https://pan.baidu.com/s/1wum8hfBeLMipdtQlqysp8A?pwd=8e7r 提取码: 8e7r

#!/bin/bash -e

# sh filerandomsize.sh /opt/xntest/1MB ftp_file_1M_10090917.txt 1 M 1000

# sh filerandomsize.sh /opt/xntest/100MB ftp_file_100M_10090917.txt 100 M 100

# sh filerandomsize.sh /opt/xntest/1GB ftp_file_1g_10090917.txt 1024 M 10

# sh filerandomsize.sh /opt/xntest/10GB ftp_file_10g_10090917.txt 10240 M 2

out_file_path=$1

out_file_name=$2

file_size=$3

size_unit=$4

file_count=$5

tmp_out_file_name=$out_file_name.tmp

function check_input_param()

{

if [[ "a" == "a"$out_file_name || "a" == "a"$file_size || "a" == "a"$size_unit ]]; then

echo "Error param input !"

echo "Type in like this: $0 [out-file-name] [file-szie] [size-unit]"

echo "param list as follow:"

echo "[out-file-name]: input your output file name, Relative path and absolute path are OK."

echo "[file-size]: The file size of output file, which must be an integer."

echo "[size-unit]: Only support K/M/G. They mean xxxKB/xxxMB/xxxGB."

exit

fi

}

function check_file_size_if_integer()

{

if [ -n "$file_size" -a "$file_size" = "${file_size//[^0-9]/}" ]; then

echo "file_size=$file_size"

else

echo "[file-size] error: The file size of output file, which must be an integer."

exit

fi

}

function check_file_count_if_integer()

{

if [ -n "$file_count" -a "$file_count" = "${file_count//[^0-9]/}" ]; then

echo "file_count=$file_count"

else

echo "[file-count] error: The file count of output file, which must be an integer."

exit

fi

}

function check_size_unit()

{

if [[ "K" != $size_unit && "M" != $size_unit && "G" != $size_unit ]]; then

echo "[size-unit] error: Only support K/M/G. They mean xxxKB/xxxMB/xxxGB."

exit

fi

}

function create_random_file()

{

dd if=/dev/urandom of=$tmp_out_file_name oflag=direct bs=1$size_unit count=$file_size conv=notrunc

mv $tmp_out_file_name $out_file_name

}

check_input_param

check_file_size_if_integer

check_file_count_if_integer

check_size_unit

create_random_file

if ((file_count>1));then

for ((i=1;i<=file_count;i++))

do

#out_file_name="$file_name-multiple-$i.txt"

echo "yes|cp -rf $out_file_name $out_file_path/multiple-$i-$out_file_name"

yes|cp -rf $out_file_name "$out_file_path/multiple-$i-$out_file_name"

done

echo "$file_count files created: $out_file_path"

else

echo "$out_file_path$out_file_name"

yes|cp -rf $out_file_name $out_file_path

echo "1 file created: $out_file_path"

fi

beanshell脚本构造生成随机大小的文件的更多相关文章

  1. linux和window下生成任意大小的文件

    在Windows环境下的实现方法   使用fsutil命令,在windows xp和win 7下应该都自带了这个命令.命令的格式是 fsutil file createnew 新文件名 文件大小.例如 ...

  2. linux生成指定大小的文件(转)

    # dd if=/dev/zero of=50M.file bs=1M count=50在当前目录下生成一个50M的文件 虚拟块设备文件更通用的名称是硬盘镜像文件(Hard Disk Image),但 ...

  3. 【Linux】生成任意大小的文件

    有时候,我们需要生成指定大小的随机文件,比如在学习过程中使用的测试文件. 命令: Linux:/qinys # dd if=/dev/zero of=tmp.data bs=500k count=1 ...

  4. Linux shell 脚本攻略之生成任意大小的文件

    摘自:<Linux shell 脚本攻略>

  5. java生成随机大数据文件

    package iie.udps.test; import java.io.BufferedWriter; import java.io.File; import java.io.FileOutput ...

  6. linux shell 脚本攻略学习10--生成任意大小的文件和文本文件的交集与差集详解

    一.生成任意大小的文件(dd命令): 举例: amosli@amosli-pc:~/learn/example$ ; + records in + records out bytes ( MB/s a ...

  7. Windows下创建指定大小的文件

    前言 因为需要测试存储容量,所以需要能生成指定大小的文件. 执行 #语法:fsutil file createnew 路径和文件名 文件大小 fsutil file createnew D:\test ...

  8. 生成随机验证码,上传图片文件,解析HTML

    1.生成随机图片验证码 1.1 页面调用createvalidatecode 生成随机图片验证码方法: <div class="inputLine"><label ...

  9. dd 生成指定大小文件

    d命令可以轻易实现创建指定大小的文件,如 dd if=/dev/zero of=test bs=1M count=1000 会生成一个1000M的test文件,文件内容为全0(因从/dev/zero中 ...

  10. PHP 生成指定大小随机图片

    PHP 生成指定大小随机图片 <?php $image_width = 100; $image_height = 100; $image_str = ''; if (isset($_GET['w ...

随机推荐

  1. python 排序的几种方式(内置排序函数, 选择排序, 冒泡排序)

    #python 排序的方法 #Python 列表有一个内置的 list.sort() 方法可以直接修改列表 list1 = [1,3,5,10,2,1] list1.sort() print(list ...

  2. mysql版本升级 5.7.21-8.0.30

    当前MySQL版本为:5.7.21 升级前准备,了解5.7和8.0版本有何区别,本文主要为升级操作文档,具体建议参考官方文档,概括性的有以下几点: >默认字符集由latin1变为utf8mb4 ...

  3. 微信APP支付后台配置

    1.申请商户号 ,申请成功后去配置证书APIv2 https://pay.weixin.qq.com/index.php/core/cert/api_cert#/    --MchKey  和MchI ...

  4. php中的错误异常处理

    作者:小涵 |  阅读: 1636 在PHP5中添加了类似于其它语言的错误异常处理模块.在PHP代码中所产生的异常可被throw语句抛出并被catch语句捕获.需要进行异常处理的代码都必须放入 在PH ...

  5. 快速居中对齐 flex+margin auto

  6. ubuntu下编译安装uWebSockets

    最近开始接触websocket,第一次装的时候,还是遇到了些问题,这里记录一下 1.从git下载uWebSockets 地址:https://github.com/uNetworking/uWebSo ...

  7. redis底层数据结构之快速列表(quicklist)

    快速列表(quicklist) redis3 .2版本之前,List类型数据使用的底层数据结构是压缩列表(ziplist)或双向链表(linkedlist),当列表元素个数比较少并且每个元素占用空间比 ...

  8. 虚拟机搭建linux环境&&使用winscp连接搭建好的linux环境步骤

    一.需要的工具 虚拟机应用程序.一个镜像(ubuntu等).winscp可执行程序 二.安装虚拟机以及插入镜像 1)选择虚拟机 我安装的是VMware 就是这个,因为之前用的都是vitualbox现在 ...

  9. (一)用go实现单链表

    本篇,我们用go简单的实现单链表这种数据结构. 1.节点定义 type Node struct{ data int next *Node } 2.节点的添加 // 尾插法插入节点 func (p *N ...

  10. React使用高阶组件与Hooks实现权限拦截教程

    导读 高阶组件就是接受一个组件作为参数并返回一个新组件(功能增强的组件)的函数.这里需要注意高阶组件是一个函数,并不是组件,这一点一定要注意,本文给大家分享React高阶组件使用小结,一起看看吧 高阶 ...