文件下载地址:链接: 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. asp汉字转拼音小写

    <%'//获取汉字的首字母 ,ANSII编码function getpychar(char) dim tmpp:tmpp=65536+asc(char) if(tmpp>=45217 an ...

  2. staticmethod() 函数

    title: staticmethod() 函数 author: 杨晓东 permalink: staticmethod date: 2021-10-02 11:27:04 categories: - ...

  3. 报错com.mysql.cj.jdbc.exceptions.MysqlDataTruncation: Data truncation: Incorrect datetime value: '1' for column 'date' at row 1问题解决

    出现 com.mysql.cj.jdbc.exceptions.MysqlDataTruncation: Data truncation: Incorrect datetime value: '1' ...

  4. java.sql.SQLException: Access denied for user ‘root‘@‘localhost‘ (using password: YES)问题

    此报错大多数存在的问题为mysql密码错误,需要去JDBC文件中寻找url查看是否密码错误.

  5. css小技巧【让背景最少是屏幕高度】【让三个字和四个字左右对齐】

    怎么让背景最少是屏幕高度 min-height: 100vh; 怎么让三个字和四个字左右对齐 text-align-last: justify;

  6. fiddler的界面详细讲解

    一.fiddler首页概述

  7. Nodejs杀死本地应用(win)

    windows端nodejs检查应用运行并杀死. import {exec, execSync} from "child_process" import {decode} from ...

  8. Windows10安装VMware

    系统环境: Windows 10 安装步骤: 1.下载vmware https://my.vmware.com/cn/web/vmware/downloads 2.安装(这里安装语言我选择的是中文) ...

  9. 在Debian11上安装Openresty服务(Nginx+Lua)

    OpenResty 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库.第三方模块以及大多数的依赖项.用于方便地搭建能够处理超高并发.扩展性极高的动态 We ...

  10. redis 单节点迁移到集群 redis-shake

    1.迁移 1.1.同步到单节点 redis-shake下载  release-v2.1.2-20220329.tar.gz #redis cluster 某一个节点   服务器安装redis-shak ...