【发布时间】:2020-07-22 22:27:26
【问题描述】:
我有一个列表,我想为每个唯一前缀随机选择一个文本字符串。例如,这是我的清单:
apples_1
apples_2
apples_3
banana_1
banana_2
pears_3
对于每个唯一的前缀(苹果、香蕉、梨),我想随机选择一个。所需的输出将是:
apples_3
banana_1
pears_3
我在 SO using arrays 上看到过类似的帖子 here 和 here,但我不清楚如何在这里应用这些答案。 我完全不知道如何去做这件事。任何让我开始的建议将不胜感激。
编辑:根据用户评论显示我尝试过的内容:
- 正在尝试应用上面的 SO 数组链接:
ARRAY=(filename.txt)
N1=$((RANDOM % 5))
SDFFILE=${ARRAY[$N1]}
echo $SDFFILE
根据帖子,我假设上面会返回 5 行随机文本,我会尝试从那里构建。什么也没发生,我无法按照这些答案进行故障排除。
- 然后我开始考虑拆分文本字符串并选择唯一的前缀行之一。
cut -d'_' -f 1
Above 返回所有前缀(现在重复),但很明显,如果我从该列表中进行二次抽样,它不会进行二次抽样,因为它只会返回:
apples
banana
pears
我很难考虑如何实现这一点。谢谢。
【问题讨论】: