【发布时间】:2012-04-12 06:47:47
【问题描述】:
我有一个行数未知的文本文件。我需要随机抓取其中一些行,但我不希望有任何重复的风险。
我试过这个:
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 行。
我被困住了。我该怎么做?
【问题讨论】: