入力/出力ファイルでのみ機能するプログラムをパイプラインに含めるにはどうすればよいですか?

入力/出力ファイルでのみ機能するプログラムをパイプラインに含めるにはどうすればよいですか?

パイプラインで複数のツールを使用して画像を処理する必要がありますtool1 | tool2 | tool3 | ...。しかし、ツールの1つはパイプラインで動作するように設計されていないようですuser@computer:/~# bad_tool infile.png outfile.png

これをパイプラインに統合する方法はありますか?私はこの唯一のプログラムのためのファイルを作成して削除するなどの作業を避けたいと思います。

ベストアンサー1

パイプが一般的に次のような場合:

tool1 | tool2 | tool3

しかし、ツール2は「悪い」。 2つのパラメータを使用します(最初は入力ファイル、2番目は出力ファイル)。次のように書き換えることができます。

tool2 <(tool1) >(tool3)

もちろん、シェルがサポートしている場合プロセスの交換

おすすめ記事