在 BASH shell 中打乱数组元素的简单方法?

2024-01-10

我可以在 PHP 中执行此操作,但我尝试在 BASH shell 中工作。我需要获取一个数组,然后随机洗牌内容并将其转储到somefile.txt.

所以给定数组 Heresmyarray,元素a;b;c;d;e;f;它会产生一个输出文件,output.txt,其中将包含元素f;c;b;a;e;d;

元素需要保留分号分隔符。我见过许多 bash shell 数组操作,但似乎没有一个与这个简单的概念相近。感谢您的任何帮助或建议!


尽管问题中的细节有点含糊,但接受的答案与标题问题不太相符。该问题询问如何在 BASH 中打乱数组的元素,kurumi 的答案显示了一种操作字符串内容的方法。

尽管如此,kurumi 仍然很好地利用了“shuf”命令,而 siegeX 则展示了如何使用数组。

将两者放在一起产生一个实际的“在 BASH shell 中随机排列数组元素的简单方法”:

$ myarray=( 'a;' 'b;' 'c;' 'd;' 'e;' 'f;' )
$ myarray=( $(shuf -e "${myarray[@]}") )
$ printf "%s" "${myarray[@]}"
d;b;e;a;c;f;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 BASH shell 中打乱数组元素的简单方法? 的相关文章

随机推荐