質問

Iを実行したいコマンドの出力のコマンドで取得しgzipいの、エコー/ティーに出力するコマンドです。

するようなもの:

echo "hey hey, we're the monkees" | gzip --stdout > my_log.gz

場合を除き、ラインを実行したいことを標準出力:

hey hey, we're the monkees
役に立ちましたか?

解決

echo "hey hey, we're the monkees" | tee /dev/tty | gzip --stdout > my_log.gz
コメントで指摘したように、

/dev/stdoutは、いくつかの状況で/dev/ttyより良い仕事かもしれません。

他のヒント

別の言い方を想定シェルのように bash または zsh):

echo "hey hey, we're the monkees" | tee >(gzip --stdout > my_log.gz)

は確かに不思議な >() 書式は基本的には、次の操作を実行します:

  • をFIFO(通常は何か /tmp/)
  • コマンドを実行中 () と結合するのFIFOにstdinそのサブコマンド
  • 戻りFIFOファイル名をョンをインストールして下さい。

tee 終了見て、それはのようなもの:

tee /tmp/arjhaiX4

すべての gzip 見は、標準入力します。

Bashの場合は、 man bash ます。このセクション リダイレクト.のためのZshを参照 man zshexpn の工程に代入します。"

調査を実施しているのは、同じ考えてKornシェルバのクラシックBourneシェルを含む灰とダッシュ)をCシェルをサポートしないこの構文です。

ティーのの素敵なカップを持っています!

  

teeコマンドをコピーし、標準入力   標準出力に出力し、また、任意に   引数として与えられたファイル。これは   あなたが送信するだけでなく、したいときに便利   いくつかのデータパイプダウンするだけでなく、へ   コピーを保存

私は遅い午後を抱えているように、ここでいくつかの見事に説明アスキー・アートだ...

           +-----+                   +---+                  +-----+  
stdin ->   |cmd 1|    -> stdout ->   |tee|   ->  stdout  -> |cmd 2|
           +-----+                   +---+                  +-----+
                                       |
                                       v
                                     file
greyfadeは別の答え「ファイル」に示していたよう

通常のファイルである必要はないが、FIFOはあなたに3番目のコマンドに出力をT字型に分岐パイプをさせることができます。

           +-----+                   +---+                  +-----+  
stdin ->   |cmd 1|    -> stdout ->   |tee|   ->  stdout  -> |cmd 2|
           +-----+                   +---+                  +-----+
                                       |
                                       v
                                     FIFO
                                       |
                                       v
                                    +-----+
                                    |cmd 3|
                                    +-----+

ただ、感動ディスクを伴わない方法を掲載します。

echo "hey hey, we're the monkees" | (exec 1>&3 && tee /proc/self/fd/3 | gzip --stdout > my_log.gz)
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top