コマンドラインのストリームからサンプルをフィルタリングするユーティリティはありますか?
- ファイルの100行ごとに印刷するか、
- 確率0.01でファイルの1行を印刷するか、
- このようなアルゴリズムで貯水池サンプリング?
更新:これまでに見つけたものは次のとおりです。
- ファイルの100行ごとに印刷します。
sed -n '0~100p'
ベストアンサー1
(GNU)awkを使った簡単な解決策:
100個それぞれ(100で割ることができる数字のある行):
do_something | awk 'NR % 100 == 0'
または疑似ランダムに:
do_something | awk 'rand() < 0.01'
BEGIN{ srand() }
この数字は正確に一致しない可能性があり、各実行ごとに新しいシードを初期化するために追加する必要があるかもしれません。