beanshell脚本构造生成随机大小的文件
文件下载地址:链接: 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脚本构造生成随机大小的文件的更多相关文章
- linux和window下生成任意大小的文件
在Windows环境下的实现方法 使用fsutil命令,在windows xp和win 7下应该都自带了这个命令.命令的格式是 fsutil file createnew 新文件名 文件大小.例如 ...
- linux生成指定大小的文件(转)
# dd if=/dev/zero of=50M.file bs=1M count=50在当前目录下生成一个50M的文件 虚拟块设备文件更通用的名称是硬盘镜像文件(Hard Disk Image),但 ...
- 【Linux】生成任意大小的文件
有时候,我们需要生成指定大小的随机文件,比如在学习过程中使用的测试文件. 命令: Linux:/qinys # dd if=/dev/zero of=tmp.data bs=500k count=1 ...
- Linux shell 脚本攻略之生成任意大小的文件
摘自:<Linux shell 脚本攻略>
- java生成随机大数据文件
package iie.udps.test; import java.io.BufferedWriter; import java.io.File; import java.io.FileOutput ...
- linux shell 脚本攻略学习10--生成任意大小的文件和文本文件的交集与差集详解
一.生成任意大小的文件(dd命令): 举例: amosli@amosli-pc:~/learn/example$ ; + records in + records out bytes ( MB/s a ...
- Windows下创建指定大小的文件
前言 因为需要测试存储容量,所以需要能生成指定大小的文件. 执行 #语法:fsutil file createnew 路径和文件名 文件大小 fsutil file createnew D:\test ...
- 生成随机验证码,上传图片文件,解析HTML
1.生成随机图片验证码 1.1 页面调用createvalidatecode 生成随机图片验证码方法: <div class="inputLine"><label ...
- dd 生成指定大小文件
d命令可以轻易实现创建指定大小的文件,如 dd if=/dev/zero of=test bs=1M count=1000 会生成一个1000M的test文件,文件内容为全0(因从/dev/zero中 ...
- PHP 生成指定大小随机图片
PHP 生成指定大小随机图片 <?php $image_width = 100; $image_height = 100; $image_str = ''; if (isset($_GET['w ...
随机推荐
- python 排序的几种方式(内置排序函数, 选择排序, 冒泡排序)
#python 排序的方法 #Python 列表有一个内置的 list.sort() 方法可以直接修改列表 list1 = [1,3,5,10,2,1] list1.sort() print(list ...
- mysql版本升级 5.7.21-8.0.30
当前MySQL版本为:5.7.21 升级前准备,了解5.7和8.0版本有何区别,本文主要为升级操作文档,具体建议参考官方文档,概括性的有以下几点: >默认字符集由latin1变为utf8mb4 ...
- 微信APP支付后台配置
1.申请商户号 ,申请成功后去配置证书APIv2 https://pay.weixin.qq.com/index.php/core/cert/api_cert#/ --MchKey 和MchI ...
- php中的错误异常处理
作者:小涵 | 阅读: 1636 在PHP5中添加了类似于其它语言的错误异常处理模块.在PHP代码中所产生的异常可被throw语句抛出并被catch语句捕获.需要进行异常处理的代码都必须放入 在PH ...
- 快速居中对齐 flex+margin auto
- ubuntu下编译安装uWebSockets
最近开始接触websocket,第一次装的时候,还是遇到了些问题,这里记录一下 1.从git下载uWebSockets 地址:https://github.com/uNetworking/uWebSo ...
- redis底层数据结构之快速列表(quicklist)
快速列表(quicklist) redis3 .2版本之前,List类型数据使用的底层数据结构是压缩列表(ziplist)或双向链表(linkedlist),当列表元素个数比较少并且每个元素占用空间比 ...
- 虚拟机搭建linux环境&&使用winscp连接搭建好的linux环境步骤
一.需要的工具 虚拟机应用程序.一个镜像(ubuntu等).winscp可执行程序 二.安装虚拟机以及插入镜像 1)选择虚拟机 我安装的是VMware 就是这个,因为之前用的都是vitualbox现在 ...
- (一)用go实现单链表
本篇,我们用go简单的实现单链表这种数据结构. 1.节点定义 type Node struct{ data int next *Node } 2.节点的添加 // 尾插法插入节点 func (p *N ...
- React使用高阶组件与Hooks实现权限拦截教程
导读 高阶组件就是接受一个组件作为参数并返回一个新组件(功能增强的组件)的函数.这里需要注意高阶组件是一个函数,并不是组件,这一点一定要注意,本文给大家分享React高阶组件使用小结,一起看看吧 高阶 ...