怎样用Bash/shell打乱一个字符串?
例如有一个字符串AGACGSCGGCSAHDBW,如何打乱各个字符的顺序呢?最好是shell,当然其他也可以。...
例如有一个字符串AGACGSCGGCSAHDBW,如何打乱各个字符的顺序呢?
最好是shell,当然其他也可以。 展开
最好是shell,当然其他也可以。 展开
2个回答
展开全部
用awk的内置函数,
split函数 n=split($0,a,""),将字符串的各个字符分割开来存入数组a并返回字符数目。
rand函数,生成[0,1)之间的随机数,结合字符数目,将随机数控制在字符数范围内。
以随机数为数组下标,用printf打印相应字符,重新组合为字符串。
如何排除相同元素,我还没想好。
今天有点忙,先说下思路免得你着急。你可以先想想,我有时间再来仔细看。
split函数 n=split($0,a,""),将字符串的各个字符分割开来存入数组a并返回字符数目。
rand函数,生成[0,1)之间的随机数,结合字符数目,将随机数控制在字符数范围内。
以随机数为数组下标,用printf打印相应字符,重新组合为字符串。
如何排除相同元素,我还没想好。
今天有点忙,先说下思路免得你着急。你可以先想想,我有时间再来仔细看。
追问
你好,你的方法也不错,但是我先用了另一个比较简洁的。
不过还是谢谢你!
追答
我在ChinaUnix论坛上也看到了用shuf命令的方法,不过我机器上没有这个命令,就另想它法了。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询