shell脚本对26个字母随机挑选4个进行排序。比如abcd,dacd等,这样把这些结果都存入到1个文件里面。谢谢!
2个回答
展开全部
随机生成四个字母,并排序输出
#!/bin/bash
i=0
for i in {a..z};do
b[$j]=$i
let j++
done
a1=`echo $RANDOM%26|bc`
a2=`echo $RANDOM%26|bc`
while [ $a1 -eq $a2 ];do
a2=`echo $RANDOM%26|bc`
done
a3=`echo $RANDOM%26|bc`
while [ $a3 -eq $a1 ] || [ $a3 -eq $a2 ];do
c=`echo $RANDOM%26|bc`
done
a4=`echo $RANDOM%26|bc`
while [ $a4 -eq $a1 ] || [ $a4 -eq $a2 ] || [ $a4 -eq $a3 ];do
a4=`echo $RANDOM%26|bc`
done
for ((i=1;i<=4;i++));do
for ((j=$i;j<=4;j++));do
if [ $[a$j] -lt $[a$i] ];then
let tmp=$[a$i]
let a$i=$[a$j]
let a$j=$tmp
fi
done
done
for i in {1..4};do
echo -n ${b[a$i]}
done
echo
[root@localhost ~]# sh c > test
[root@localhost ~]# cat test
hlnu
#!/bin/bash
i=0
for i in {a..z};do
b[$j]=$i
let j++
done
a1=`echo $RANDOM%26|bc`
a2=`echo $RANDOM%26|bc`
while [ $a1 -eq $a2 ];do
a2=`echo $RANDOM%26|bc`
done
a3=`echo $RANDOM%26|bc`
while [ $a3 -eq $a1 ] || [ $a3 -eq $a2 ];do
c=`echo $RANDOM%26|bc`
done
a4=`echo $RANDOM%26|bc`
while [ $a4 -eq $a1 ] || [ $a4 -eq $a2 ] || [ $a4 -eq $a3 ];do
a4=`echo $RANDOM%26|bc`
done
for ((i=1;i<=4;i++));do
for ((j=$i;j<=4;j++));do
if [ $[a$j] -lt $[a$i] ];then
let tmp=$[a$i]
let a$i=$[a$j]
let a$j=$tmp
fi
done
done
for i in {1..4};do
echo -n ${b[a$i]}
done
echo
[root@localhost ~]# sh c > test
[root@localhost ~]# cat test
hlnu
更多追问追答
追问
我是想吧 所有的可能都输入到一个文件里。
追答
你是想要所有的排列组合?
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询