Ubuntu 如何在bash脚本中将从文件读取的行随机化为数组并在数组上循环
我有一个包含著名语录的文本文件 我想编写一个bash shell脚本,该脚本执行以下操作:Ubuntu 如何在bash脚本中将从文件读取的行随机化为数组并在数组上循环,ubuntu,bash,Ubuntu,Bash,我有一个包含著名语录的文本文件 我想编写一个bash shell脚本,该脚本执行以下操作: 将文件的所有行读取到一个数组中(每行都是一个数组条目) “洗牌”或随机化阵列位置 在“随机化”数组上循环并打印当前行 我不熟悉bash脚本。有人能告诉我怎么做吗 我正在运行Linux Ubuntu 这就是我目前的情况: while read -r -a array do print "${array[@]}" done < myfile.txt 读取-r-a数组时 做 打印“${array[@
while read -r -a array
do
print "${array[@]}"
done < myfile.txt
读取-r-a数组时
做
打印“${array[@]}”
完成
我需要随机化阅读行。有人知道我如何修改脚本来做我想做的事情吗
我试着使用排序--随机排序,如下所示:
done < cat myfile.txt | sort --random-sort
done
但是bash发出了错误消息您可以使用
fortune
程序。您可能必须修改文件以包含所需的分隔符
要修复错误消息,请执行以下操作:
done < <(sort --random-sort myfile.txt)
@第三,请不要引诱人们再次提出同样的问题。投票吧,仅此而已——谢谢@Takashi,如果适用,您的问题将自动转移到堆栈溢出。不需要再次发布相同的问题!
sort --random-sort myfile.txt | while