1

実行時に に数行を出力するプログラムがある場合、これらの行をすべてリダイレクトして、生成中に操作を実行するstoutにはどうすればよいですか?sed

例えば:

7zip a -t7z output_folder input_folder -mx9 > sed 's/.*[ \t][ \t]*\([0-9][0-9]*\)%.*/\1/'

sed7zip は一連の行を出力として生成し、それぞれにパーセンテージ値が含まれています。これらの値が生成されている間は、これらの値のみを表示したいと思います。残念ながら、上記のスクリプトは機能しません...

これを行う最善の方法は何ですか?

4

1 に答える 1

2

最初のコマンド出力を入力として使用するよう|に、リダイレクトの代わりにパイプを使用する必要があります。>sed

上記のスクリプト行sedにより、現在のディレクトリにファイルが作成されている必要があります。

さらに、7zipこれらの行をstderrの代わりに に出力する場合がありstdoutます。その場合は、パイプする前にまず標準エラーを標準出力にリダイレクトします。2>&1 |

于 2012-12-21T10:55:18.787 に答える