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

パイプは、2つのプロセスのファイル記述子間のプロセス間接続です。パイプは、POSIX pipe()関数(<unistd.h>から)を使用して作成されます。「|」の場合、シェルはプロセス間にパイプを作成します 記号が使用されています: "cmd1 | cmd2"は、cmd1の出力をcmd2の入力に向けます。WindowsではCreatePipe()を使用します。このメカニズムは、標準入力、標準出力、および標準エラーを.NETおよびJavaの呼び出しプロセスにリダイレクトします。

7
stdoutとstderrの両方をBashでファイルにリダイレクトして追加する方法は?
stdoutをBashの切り捨てられたファイルにリダイレクトするには、次のように使用します。 cmd &gt; file.txt Bashでstdoutをリダイレクトしてファイルに追加するには、次のように使用します。 cmd &gt;&gt; file.txt stdoutとstderrの両方を切り捨てられたファイルにリダイレクトするには、次のように使用します。 cmd &amp;&gt; file.txt stdoutとstderrの両方をファイルに追加してリダイレクトするにはどうすればよいですか?cmd &amp;&gt;&gt; file.txt私にとってはうまくいきませんでした。
1533 linux  bash  redirect  stream  pipe 

11
stdoutではなくstderrをパイプするにはどうすればよいですか?
stdoutand stderrに情報を書き込むプログラムがあり、stdoutを無視しgrepて、stderrに送信される内容を確認する必要があります。 もちろん、2つのステップで実行できます。 command &gt; /dev/null 2&gt; temp.file grep 'something' temp.file しかし、私はこれを一時ファイルなしでできるようにしたいと思います。賢い配管のコツはありますか?
982 bash  grep  stdout  pipe  stderr 



15
出力をパイプし、Bashで終了ステータスをキャプチャする
Bashで長時間実行されているコマンドを実行し、両方の終了ステータスをキャプチャし、その出力をTシャツにしたいと考えています。 だから私はこれをします: command | tee out.txt ST=$? 問題は、変数STがteeコマンドではなくコマンドの終了ステータスをキャプチャすることです。どうすればこれを解決できますか? コマンドは実行時間が長く、後で表示するために出力をファイルにリダイレクトすることは、私にとって良い解決策ではないことに注意してください。

6
シェルスクリプトがパイプを介して実行されているかどうかを検出するにはどうすればよいですか?
標準出力が端末に送信されているか、別のプロセスにパイプされているかをシェルスクリプト内から検出するにはどうすればよいですか? 要点:出力を色分けするためにエスケープコードを追加したいのですが、対話的に実行した場合のみで、パイプで実行した場合ls --colorはそうではありません。
252 bash  shell  pipe 


5
画面に表示したままstdoutをパイプする方法は?(出力ファイルではありません)
画面に表示したまま、プログラムの標準出力をパイプ処理したいと思います。 簡単な例を示します(echoここでの使用は単に説明のためです): $ echo 'ee' | foo ee &lt;-見たい出力 Teeがstdoutをファイルにコピーできることは知っていますが、それは私が望んでいることではありません。 $ echo 'ee' | tee output.txt | foo 私が試しました $ echo 'ee' | tee /dev/stdout | fooが、ティー出力/dev/stdoutがパイプされているので機能しませんfoo
234 bash  shell  pipe  output  stdout 

15
パイプからシェル変数に値を読み込む
パイプで送られるstdinからのデータをbashで処理しようとしていますが、うまくいきません。私が意味するのは、次の作業のどれもではない: echo "hello world" | test=($(&lt; /dev/stdin)); echo test=$test test= echo "hello world" | read test; echo test=$test test= echo "hello world" | test=`cat`; echo test=$test test= 出力をしたい場所test=hello world。""引用符を付けて"$test"もうまくいきません。
205 linux  bash  pipe 


2
シェルパイプラインで「jq」を使用する方法
jqシェルパイプラインで「正常に」動作するようには見えません。例えば: $ curl -s https://api.github.com/users/octocat/repos | jq | cat その結果、jqヘルプテキスト*が出力されます。jqの出力をファイルにリダイレクトしようとすると、同じことが起こります。 $ curl -s https://api.github.com/users/octocat/repos | jq &gt; /tmp/stuff.json されjq、それがttyから実行されていないと判断した場合、意図的に救済しますか?jqパイプラインで使用できるように、この動作を防ぐにはどうすればよいですか? * (この例には猫の役に立たない使い方が含まれていることに気づきました。これは説明のみを目的としています)
195 shell  pipe  jq 

11
cURLがエラー「(23)書き込みに失敗しました」を返すのはなぜですか?
それは単一のツールとして問題なく動作します: curl "someURL" curl -o - "someURL" ただし、パイプラインでは機能しません。 curl "someURL" | tr -d '\n' curl -o - "someURL" | tr -d '\n' それは返します: (23) Failed writing body cURL出力のパイプ処理の問題は何ですか?cURL出力全体をバッファリングしてから処理する方法は?
152 macos  bash  curl  osx-lion  pipe 


6
フォルダー内のすべてのファイルを開く方法は?
私はpythonスクリプトparse.pyを持っています。このスクリプトでは、file1などのファイルを開いてから、合計文字数を出力することができます。 filename = 'file1' f = open(filename, 'r') content = f.read() print filename, len(content) 現在、標準出力を使用して結果を出力ファイルに出力しています-出力 python parse.py &gt;&gt; output しかし、手動でこのファイルを作成したくないのですが、すべてのファイルを自動的に処理する方法はありますか?お気に入り ls | awk '{print}' | python parse.py &gt;&gt; output 次に、問題はどのように標準化からファイル名を読み取ることができますか?または、lsとその種の作業を簡単に行うための組み込み関数がすでにいくつかありますか? ありがとう!
148 python  file  pipe  stdout  stdin 

9
アプリケーションをだまして、その標準出力をパイプではなくターミナルであると見なす方法
「stdinがターミナルまたはパイプであるかどうかを検出しますか?」の逆を実行しようとしています。 STDOUTでパイプを検出するため、出力形式を変更するアプリケーションを実行しています。リダイレクトするときに同じ出力が得られるように、それがインタラクティブな端末であると考えて欲しいです。 expectスクリプトでラップするかproc_open()、PHPでを使用することで実現できると思っていましたが、そうではありませんでした。 そこに何かアイデアはありますか?
147 bash  terminal  pipe  stdin 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.