次の内容を含むファイルがある場合:
0001
0002
0003
0004
0132
0137
0138
0141
Bashでランダムな順列を取得するにはどうすればよいですか?
ベストアンサー1
shuf
あなたが探しているコマンドです。
からman shuf
、
-n, --head-count=最大COUNT行からCOUNTを出力
たとえば、ファイルからランダムに4行を取得するには、次のようにします。
shuf -n 4 file
次の方法も使用できます。
head -$((${RANDOM} % `wc -l < file` + 1)) file | tail -1
このうち最後のパイプは、出力で必要な行数を指定します。
引用する