linux脚本学习之路-在suse10环境中生存指定大小指定文件名的压缩文件

时间:2022-08-19 19:20:10

#!/bin/bash
#-------------------------------------------------------------------------------
# Name:        boss接口模拟工具
# Purpose:     模拟boss接口创建数据集市号码文件
# Author:      luolijun
# Created:     25/07/2014
#-------------------------------------------------------------------------------
#配置需要生成txt的文件大小,单位:字节
filesize='10000'
#配置文件中号码的号首,号码长度用0填充
frist_num=134000000000000000000000
#配置需要生成的地市,地市之间用空格分隔
#city='QY SG YF ZQ DG HY HZ MZ FS ZS ZH JM MM YJ ZJ CZ JY ST SW SZ'
city='SZ'
#配置号码文件生成的年月
Year_month='201407'

Creat_file()
{
 filename_txt='CSSMS_TW_PERS_USR_INF_M_'$Year_month'_'$list_city'.txt'
 filename_z='CSSMS_TW_PERS_USR_INF_M_'$Year_month'_'$list_city'.Z'
 touch $filename_txt
#获取文件大小
 fsize=`ls -l $filename_txt|awk '{print $5}'`
 while (( $fsize < $filesize ))
 do
 echo $frist_num"&&"$list_city >> $filename_txt
# let "frist_num += 1"
 frist_num=`echo "$frist_num + 1" | bc`
 fsize=`ls -l $filename_txt|awk '{print $5}'`
 done
#compress命令仅在suse10下支持,在suse11下解压.Z的文件可以用命令:gzip -d 文件名 > 新文件名
 compress -c $filename_txt > $filename_z
 rm $filename_txt
}
#Creat_file $city $filesize $frist_num
main()
{
 for list_city in $city
 do
 {
 Creat_file $Year_month $list_city $filesize $frist_num
#"&“实现多进程,实现多个文件同时生成
 }&
 done
 wait
}
main $city