ファイルのサブセットをサンプリングするために使用できるLinuxコマンドはありますか?たとえば、ファイルには百万行が含まれており、ファイル内の千行だけをランダムにサンプリングしたいとします。
ランダムとは、すべての行が選択される確率が同じで、選択された行のいずれも重複しないことを意味します。
head
tail
ファイルのサブセットを選択できますが、ランダムに選択することはできません。私はこれを行うためにいつでもPythonスクリプトを書くことができることを知っていますが、それに対するコマンドがあるかどうか疑問に思います。
ベストアンサー1
コマンドshuf
(coreutilsの一部)で次のことができます。
shuf -n 1000 file
少なくとも今は非古代バージョン(追加)2013年からの約束)、これは適切な場合はリポジトリサンプリングを使用します。つまり、メモリが不足してはならず、高速アルゴリズムを使用していることを意味します。