コマンドの「ティー」

コマンドの「ティー」

teeパイプ標準入力を標準出力にリダイレクトできます。そして文書。

echo Hello, World! | tee greeting.txt

上記のコマンドは、端末画面にグリーティングを表示し、ファイルの内容に保存するか、greeting.txtその名前のファイルがない場合はファイルを生成します。

上書きするのではなく、既存のファイルに追加する-aスイッチもあります。tee


パイプ入力をコマンドにリダイレクトします。標準出力ファイルの代わりに?

ラッパースクリプトを作成しようとしています。bukuインデックス番号で指定されたブックマークの URL をデフォルトの選択項目にコピーします。

# bukuc:
#!/bin/sh
url=$(buku -f 1 -p $1 | cut -f 2) # NUMBER : URL
echo $url # DISPLAY
echo $url | xsel # PRIMARY SELECTION

ここで私は使うecho 二つ最初に端末に表示され、次にデフォルトの選択項目(クリップボード)に保存されます。

私は、次のコマンド(接続されたコマンド)を渡す前に出力を表示するものやショートカットを想像しています。echo $url | teeC xselこれにより、結果を保存することなく、1行にコマンド全体をリンクできます。変える次のように:

buku -f 1 -p $1 | cut -f 2 | teeC xsel    

私も使えるurlview次のコマンドを使用して表示、選択、および開く$BROWSER

bukuc 10-20 | urlview

ベストアンサー1

サポートされているシェルでは簡単です。プロセスの交換、例えば、

$ echo foo | tee >(xsel)
foo
$ xsel -o
foo

それ以外の場合は、FIFOを使用できます(利便性は不十分ですが)。

$ mkfifo _myfifo
$ xsel < _myfifo &
$ echo bar | tee _myfifo
bar
$ xsel -o
bar
[1] + Done                       xsel 0<_myfifo
$ 

おすすめ記事