GNU/Linux >> Linux の 問題 >  >> Linux

Stdoutに出力し、同時にGrepをファイルに出力しますか?

stdoutにテキストを出力するスクリプトがあります 。このすべての出力を端末に表示すると同時に、いくつかの行をフィルタリングしてファイルに保存したいと思います。例:

$ myscript
Line A
Line B
Line C

$ myscript | grep -P 'A|C' > out.file

$ cat out.file
Line A
Line C

ターミナルで最初のコマンドの出力を確認し、2番目のコマンドの出力をファイルに保存したい。同時に。 teeを使ってみました 、ただし結果がない、またはそれ以上の場合、結果が逆になります。

承認された回答:

ターミナルで最初のコマンドの出力を確認し、2番目のコマンドの出力をファイルに保存したい。

見ているものがstdoutのものであるかどうかを気にしない限り またはstderr 、引き続きteeを使用できます :

myscript | tee /dev/stderr | grep -P 'A|C' > out.file

Linuxで動作します。 「/dev/stderr」が他の*nixにも同様に適用できるかどうかはわかりません。


Linux
  1. ファイルをコピーすると同時にターゲットディレクトリを作成するにはどうすればよいですか?

  2. リダイレクトとパイプ出力?

  3. 入力ファイルと同じ名前のファイルに保存する出力?

  1. 出力をファイルと標準出力にリダイレクトする方法

  2. トップコマンドの出力をLinuxのファイルにキャプチャする方法は?

  3. date および watch コマンドの出力をファイルに保存する

  1. コピーと chmod/chown を同時に行う

  2. ping と tcpdump を同時に行う

  3. Linux:ファイルを入力と出力として同時に使用する方法は?