Shell 生成特定格式的文件

#!/bin/bash

##定义全局变量    CastID|TelphoneNumber|UserID
CastID=''
TelphoneNumber='1'
UserID=''

##要求1)长度为1-32位;2)字符串组成也有特定要求
createCastID()
{

Arr=(0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z @ . - _)
#获取Arr里元素个数,一共66个,则最后一共元素"_"的索引是65
ArrLength=${#Arr[*]}

##Times是指字符串长度,RANDOM%20是获取[0,20)区间的一个随机整数,RANDOM%20+1就是获取[1,21)之间的数(即[1,20]区间),然后循环获取对应长度字符串
Times=$((RANDOM%20+1))

for i in $(seq 1 $Times)
        do
                Index=$((RANDOM%$ArrLength))
                CastID=$CastID${Arr[$Index]}
        done

}

##创建电话号码,11位数字,第一位是1,则0-9里随机取10个即可,RANDOM%10是指从[0-10)左闭右开随机取一个数当做Arr数组的索引(下标)
createTelphoneNumber()
{

Arr=(0 1 2 3 4 5 6 7 8 9 )
for i in $(seq 1 10)
        do
                Index=$((RANDOM%10))
                TelphoneNumber=$TelphoneNumber${Arr[$Index]}
        done

}

createUserID()
{

Arr=(0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z @ . - _)
#获取Arr里元素个数,一共66个,则最后一共元素"_"的索引是65
ArrLength=${#Arr[*]}

##Times是指字符串长度,RANDOM%32是获取[0,32)区间的一个随机整数,RANDOM%20+1就是获取[1,33)之间的数(即[1,32]区间),然后循环获取对应长度字符串
Times=$((RANDOM%32+1))

for i in $(seq 1 $Times)
        do
                Index=$((RANDOM%$ArrLength))
                UserID=$UserID${Arr[$Index]}
        done

}

##main
for i in $(seq 1 $1)
	do 
		createCastID
		createTelphoneNumber
		createUserID
		echo "$CastID|$TelphoneNumber|$UserID"
		echo "$CastID|$TelphoneNumber|$UserID" > $CastID.txt
		
		CastID=''
		TelphoneNumber='1'
		UserID=''
	done



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
生成Excel文件.XLS需要使用特定的工具或库,如Microsoft Excel或Apache POI等。以下是使用Apache POI库在shell脚本中生成XLS文件的示例: 1. 安装Java和Apache POI库: ``` sudo apt-get install default-jre sudo apt-get install libcommons-collections4-java sudo apt-get install libcommons-compress-java sudo apt-get install libcommons-math3-java sudo apt-get install libjaxb-api-java sudo apt-get install libxmlbeans-java ``` 2. 创建一个名为generate_xls.sh的shell脚本,并添加以下内容: ``` #!/bin/bash # 导入Apache POI库 export CLASSPATH=.:/usr/share/java/poi/*:/usr/share/java/poi-ooxml/* # 编译Java程序 javac GenerateXLS.java # 运行Java程序 java GenerateXLS ``` 3. 在同一目录下创建一个名为GenerateXLS.java的Java程序,并添加以下内容: ``` import java.io.FileOutputStream; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.*; public class GenerateXLS { public static void main(String[] args) { // 创建工作簿 Workbook workbook = new HSSFWorkbook(); // 创建工作表 Sheet sheet = workbook.createSheet("Sheet1"); // 创建行 Row row = sheet.createRow(0); // 创建单元格 Cell cell = row.createCell(0); cell.setCellValue("Hello World!"); // 写入文件 try { FileOutputStream outputStream = new FileOutputStream("output.xls"); workbook.write(outputStream); workbook.close(); } catch (Exception e) { e.printStackTrace(); } } } ``` 4. 运行shell脚本: ``` ./generate_xls.sh ``` 5. 在同一目录下将生成一个名为output.xls的Excel文件,其中包含一个单元格,内容为“Hello World!”。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值