タグ付けされた質問 「tee」

10
「ティー」の目的は何ですか?
tee私が今まで見た使用法はすべてそのようなものでした: do_something | tee -a logfile または: do_something_else | tee logfile されteeますが、シェルのパイプリダイレクトと同じことを行うことができます知っていないもののために発明しましたか?といった: do_something >> logfile または: do_something_else > logfile これは実質的に同じであり、入力するキーボードのヒットが少なくなります。見えない隠し機能は何teeですか?
90 shell  tee 

3
ティーへのパイピング中に色を保持
ls -l --color=auto | tee output.log パイプ/ティーがなければ色が付いています。使用中に色付きのままになるようにするにはどうすればよいですかtee(画面上でのみ色付けできますが、ログの色は気にしません)。
62 pipe  tee 

6
STDOUTなしのteeコマンドの代替
私は| sudo tee FILENAME、スーパーユーザー権限が非常に頻繁に必要なファイルに書き込みまたは追加できるようにするために使用しています。 いくつかの状況で役立つのはなぜかを理解しますが、teeその入力もまたSTDOUTに送信されますが、実際にその部分をtee有用なことに使用したことはありません。ほとんどの場合、この機能を使用すると、余分な手順を実行せずに手動で消音しない限り、不要なジッターで画面がいっぱいになりますtee 1> /dev/null。 私の質問:コマンドarroundはありteeますか?これは、とまったく同じことを行いますが、デフォルトではSTDOUTに何も出力しませんか?

1
PowerShellとTee
このコマンドを使用して、コンソールとファイルの両方に出力を表示します。 powershell -command "my_command_1 | tee ('logs\{0}.log' -f (Get-Date -format 'yyyy.MM.dd-HH.mm'))" powershell -command "my_command_2 | tee ('logs\{0}.log' -f (Get-Date -format 'yyyy.MM.dd-HH.mm'))" # etc それは私が期待したほどうまく機能せず、いくつかの質問があります: stderrをファイルにリダイレクトするにはどうすればよいですか? 出力は非常に奇妙に機能します。一部のコマンドでは、テキストが出力されてからコンソール/ファイルが更新されるまでに大きな遅延があります。他のいくつかのコマンドでは、テキストが印刷されるときに出力が更新されたように見えます(私はT字なしでコマンドを実行し、何を印刷する必要があるかを知っています)。この遅延により、このTシャツはほとんど役に立たなくなります。重大なエラーが出力されるため、コマンドを停止する必要がありますが、手遅れになるまで何も表示されません。 コマンドによっては、完全なコマンドが実行された後にのみ出力が出力されます。 さらに、コマンドがユーザー入力を要求しても、コンソール/ファイルの出力は空です!そのコマンドについて私はそれが期待するものを知っていて、必要なテキストを盲目的に印刷してそれが機能しましたが、他の人のために-コマンドが入力を待つ間、私は何かが無限に起こるのを待ちます! これらの問題の解決策はありますか?そうでない場合、PowerShellのこのT型のものはまったく役に立ちません。


3
トラフィックを記録するためのプロキシとしてnetcatを使う
httpリクエストとレスポンスをファイルに記録するためのプロキシとしてnetcatを使い、それからトラフィックを検査するためにこれらを調整したいのです。 wireharkを考えてください。 'fifo'は名前付きパイプ、 'in'と 'out'はファイル、ポート8080はnetcatプロキシ、ポート8081はserverです。 本当ながら。猫FIFA nc -l -p 8080 |ティーティーインnc localhost 8081 | tee -a out 1> fifo;終わった 問題点 Netcatは最初の要求後に応答を停止します(ループは無視されますか?)。 Netcatがmsgで失敗する localhost [127.0.0.1] 8081 (tproxy) : Connection refused 8081でサーバーが使用できない場合すなわちnetcatの起動時に8081を実行したくありません。

1
Tシャツを使用すると、sudo権限が失われます
インストーラースクリプトを書いているsudoので、AWS RedHatインスタンスでテストするときに実行する必要があるため、として直接実行することはできませんroot。画面だけでなくファイルにもログを書き込みたいです。それ以上簡単なものはないはずです、 古い学校>> /tmp/Solr_Install.log 2>&1に行ってバックグラウンドでテールプロセスを開始することもできます。tail -f installer.log &このソリューションは、画面上の出力を複製または3倍にする傾向があるため、Tee-Totallerソリューションを選択しました。 力の力を使うだけで、2>&1 | tee -a /tmp/Solr_Install.logこのソリューションではsudo権限が失われ、スクリプトが失敗します。 質問:テールに同じ行が2〜3回表示されるのはなぜですか?(tail -f最後の10行を表示するという事実と関係がありますか?) これはどういうわけか修正できますか? ティーするときにsudoを失うのはなぜですか? これは回避できますか? ログ資料をファイルに入れて同時に画面に表示する他の方法はありますか?
1 logging  sudo  tee 

1
異なるnetcat接続からのデータを別々のファイルに保存する方法は?
データストリームを受信し、ファイルに保存し、さらに送信するサーバーが必要です。各接続は、ファイル名に対応するタイムスタンプを持つファイルを作成し、それに書き込む必要があります。 私の解決策: nc -l -k -p 4000 | date +"%Y-%m-%d_%H_%M_%S" | xargs -I {} tee file_{}.dat | nc 192.168.0.3 4001 タイムスタンプと個別のファイルが決定される前に機能していましたが、今はファイルの作成にこだわっています。netcatからの不満:getaddrinfo:名前またはサービスが不明です
bash  pipe  xargs  netcat  tee 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.