shell30题之第一题

1.1.1 Shell面试题1:批量生成随机字符文件名案例

使用for循环在/oldboy目录下批量创建10个html文件,其中每个文件需要包含10个随机小写字母加固定字符串oldboy,名称示例如下:

[root@oldgirl C19]# ls /oldboy

apquvdpqbk_oldboy.html  mpyogpsmwj_oldboy.html  txynzwofgg_oldboy.html

方法一数组

 

#!/bin/bash
##############################################################
# File Name: test1_2.sh
# Version: V1.0
# Author: gaobo
# Organization: 641627690@qq.com
# Created Time : 2017-12-04 14:55:31
# Description:
##############################################################
j=0

for i in {a..z}
do

shuzu[$j]=$i

let j++
done

echo ${shuzu[@]}
echo ${shuzu[1]}

for ((m=0;m<10;m++))
do

for ((k=0;k<10;k++))
do
               #
               cc=${shuzu[$(echo $RANDOM%25|bc)]}
               #
               zfc="$cc$zfc"
done
       
touch "${zfc}"_oldboy.html
zfc=

done

 

方法二随机数

[root@jenkins scripts]# cat test1.sh 
#!/bin/bash
##############################################################
# File Name: test1.sh
# Version: V1.0
# Author: gaobo
# Organization: 641627690@qq.com
# Created Time : 2017-12-04 14:50:09
# Description:
##############################################################

for ((i=0;i<=10;i++))
do

cc=$(date +%N%F|md5sum|sed  -n "s/[0-9 -]//gp")

wjm=$(echo ${cc}${cc}|cut -c 1-10)

touch ${wjm}_oldboy.html


done

 ==========================================

 

 

path=/oldboy
[ -d $path ] || mkdir -p $path
cd $path
for ((i=1;i<=10;i++))
do
    touch `echo $RANDOM|md5sum|tr "[0-9]" "[a-z]"|cut -c 1-10`_oldboy.html &>/dev/null
done

 

tr "[0-9]"  "[a-z]"  将内容进行替换就解决了数字的问题

 

转载于:https://www.cnblogs.com/gaoyuechen/p/7979132.html

你可能感兴趣的:(shell30题之第一题)