テキスト行のランダムな配列

テキスト行のランダムな配列

次の内容を含むファイルがある場合:

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

このうち最後のパイプは、出力で必要な行数を指定します。

引用する

https://stackoverflow.com/questions/448005/whats-an-easy-way-to-read-random-line-from-a-file-in-unix-command-line

おすすめ記事