Bdinシェルで使用されるブラックボックスUNIXプログラムがあり、stdinからデータの列を読み取り、それらを処理して(平滑化効果を適用して)、stdoutに出力します。UNIXパイプで使用します。たとえば
generate | smooth | plot
よりスムーズにするために、スムーズを繰り返すことができるので、Bashコマンドラインから次のように呼び出されます。
generate | smooth | smooth | plot
あるいは
generate | smooth | smooth | smooth | smooth | smooth | smooth | smooth | smooth | smooth | smooth | plot
これは厄介です。私は、Bashラッパーを作成して、smooth
その出力をsmooth
任意の回数の新しいインスタンスにパイプで送り、新しいインスタンスに戻すことができるようにします
generate | newsmooth 5 | plot
の代わりに
generate | smooth | smooth | smooth | smooth | smooth | plot
私の最初の試みは、現在のディレクトリに一時ファイルを生成して削除するBashスクリプトでしたが、書き込みアクセスのあるディレクトリにいなかった場合は見苦しくなり、中断するとガベージファイルが残りました。
smooth
プログラムへの引数はありません。
そのようなプログラムを「ラップ」して呼び出し回数をパラメータ化するよりエレガントな方法はありますか?