gpt4 book ai didi

shell - 如何从 shell 的文本文件中随机选择唯一的行?

转载 作者:行者123 更新时间:2023-12-04 03:16:33 25 4
gpt4 key购买 nike

我有一个行数未知的文本文件。我需要随机抓取其中的一些行,但我不希望有任何重复的风险。

我试过这个:

jot -r 3 1 `wc -l<input.txt` | while read n; do
awk -v n=$n 'NR==n' input.txt
done

但这很丑陋,并且不能防止重复。

我也试过这个:
awk -vmax=3 'rand() > 0.5 {print;count++} count>max {exit}' input.txt

但这显然也不是正确的方法,因为我什至不能保证得到 max线。

我被困住了。我该怎么做呢?

最佳答案

如果您可以访问 Python(将 10 更改为您想要的):

python -c 'import random, sys; print("".join(random.sample(sys.stdin.readlines(), 10)).rstrip("\n"))' < input.txt

(这将适用于 Python 2.x 和 3.x。)

此外,(再次将 10 更改为适当的值):
sort -R input.txt | head -10

关于shell - 如何从 shell 的文本文件中随机选择唯一的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10118733/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com