0. 前言
在 Linux 中,如果你想要随机抽取文本文件中的某几行,可以使用几种不同的方法,包含以下命令: shuf
、sort
、 awk
、sed
假设你有一个名为 test.txt
的文件,随机抽取 5 行,下面依次介绍命令使用方法。
1. shuf
shuf test.txt | head -n 5
这里 shuf
将文件中的行随机打乱,然后 head -n 5
选取前 5 行。
2. awk
awk 'BEGIN{srand()} {print rand() "\t" $0}' test.txt | sort -k1,1n | cut -f2- | head -n 5
这个命令会给每行加上一个随机数,然后排序并输出前 5 行。
3. sed
sed -n '1~5p' test.txt | shuf -n 5
这里 sed -n '1~5p'
用来每隔 5 行输出一行,然后 shuf -n 5
从中随机选择 5 行。