shell脚本对26个字母随机挑选4个进行排序。比如abcd,dacd等,这样把这些结果都存入到1个文件里面。谢谢!
发布网友
发布时间:2022-05-01 14:30
我来回答
共2个回答
热心网友
时间:2023-10-18 17:59
假设你要存放到1.txt中的话, 则可以按以下命令来操作,如果想重复多次随机操作的话,则可以加一个循环
tr -dc a-z < /dev/urandom | head -c4 >> 1.txt
热心网友
时间:2023-10-18 17:59
随机生成四个字母,并排序输出
#!/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
热心网友
时间:2023-10-18 17:59
假设你要存放到1.txt中的话, 则可以按以下命令来操作,如果想重复多次随机操作的话,则可以加一个循环
tr -dc a-z < /dev/urandom | head -c4 >> 1.txt
热心网友
时间:2023-10-18 17:59
随机生成四个字母,并排序输出
#!/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