問題タブ [piping]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
batch-file - バッチ:カレットでの脱出
私はいつもバッチが嫌いでしたが、CやPHP / Perlを好む最も単純なことでも、今でもそうしています。でも今回はそれなしでは行けませんでした、****ため息****。
エコーコマンドを他のコマンドにリダイレクトしたかったのです。例えば:
しかし、パイプのエコー部分で特殊文字を使用できるようにもしたかったのです。
もちろん、どちらも機能しませんでした。だから私は試しました:
どちらも機能しませんでした。それから試行錯誤で私は見つけました:
そしてそれはうまくいった。しかし、興味のあるプログラマーとして、私はなぜだろうと思います。なぜ^&
機能し^^^&
なかったのですか?
unix - リモートファイルをローカルディスクにコピーせずにhadoopに配置する
データが生成されるとすぐにデータをHadoopに入れるシェルスクリプトを書いています。マスターノードにSSHで接続し、ファイルをその上のフォルダーにコピーしてから、Hadoopに入れることができます。マスターノードのローカルディスクへのファイルのコピーを取り除くためのシェルコマンドを探しています。私が必要としているものをよりよく説明するために、ここで私がこれまでに持っているものを見つけることができます:
1)ファイルをマスターノードのローカルディスクにコピーします。
すでにキーを使用してSSH接続を設定しています。したがって、これを行うためにパスワードは必要ありません。
2)sshを使用してhadoopputコマンドをリモートで実行できます。
私が探しているのは、これら2つのステップを1つにパイプ/結合し、masterNodeのローカルディスク上のファイルのローカルコピーをスキップする方法です。
ありがとう
言い換えれば、私は私ができる方法でいくつかのコマンドをパイプしたい
perl - perl でアプリケーションの出力にタイムスタンプを付ける方法
実行時にコマンドライン出力を提供するコマンドラインアプリがあります。ファイル (例: app >> log.txt) に書き込むと、ターミナルに表示されるのと同じように、すべてテキスト ファイルに表示されます。出力にタイムスタンプを付けて、実行したままにしておくと、戻ってきていつ印刷されたかを確認できるようにする必要があります。
私はperlスクリプトにパイプしようとしました:
このコマンドの使用:
しかし、ログは空です。申し訳ありませんが、実行中のアプリケーションについて詳しく説明できません。
linux - Linuxの配管とループ
Linuxパイプを使用してループを作成することは可能ですか?例えば
cmd1 | cmd2 | cmd3 | 'stdincmd1に戻る'
つまり、のに接続し直したいstdout
のですが。cmd3
stdin
cmd1
python - Pythonから外部コマンドへのデータのパイピング
subprocess.Popenにあるものをすべて読みましたが、何かが足りないと思います。
Pythonスクリプトで作成されたリストからデータストリームを読み取り、そのプログラムの結果をファイルに書き込むUNIXプログラムを実行できる必要があります。bashプロンプトから、私はこれを常に問題なく実行していますが、この段階に入る前に、いくつかのバイナリファイルと大量のデータを前処理するPythonスクリプト内からこれを実行しようとしています。
すべての前処理を含まない簡単な例を見てみましょう。
これがbashで実行される方法は次のとおりです。
データがUNIXプログラムに供給される方法も重要です。空白で区切られた2列でフォーマットする必要があります。
どんな助けでもありがたいです...
grep - grep を使用したエラー メッセージのパイプ処理
一部のファイルが見つからないために失敗するスクリプトがあります。
スクリプトを実行して grep にパイプする
次の出力が生成されます。
および異なるファイルでの同様の出力
v2.2_V3_194424_194712/output_853.root
この出力からのようにルート ファイルを抽出したいのですが、うまくいき./adder | grep Error | grep .root
ません。
何故ですか?
piping - EOTを送信せずに配管
EOT(Ctrl-D)を送信せずにパイプする方法、つまりこれらを同等にする方法を探しています:
と
linux - bash での特別なパイプ/リダイレクト
(まず、1時間探していたので、これが繰り返されていないと確信しています)
1 つのコマンドを 1 回実行し、次のことを行うスクリプトを作成する必要があります。
- stdout と stderr の両方をファイルに保存します (適切な順序を維持しながら)
- stderr のみを変数に保存します。
そのようなファイルがある場合、ポイント1の詳細
出力、エラー、出力、エラーの順に表示されることを期待する必要があります (したがって、連結では不十分です)。
私が最も近いものは次のとおりです。ログファイルが破損しているようです。
bash - 入力をシェル コマンドにパイプし、作成したシェルを維持する
私の包括的なプログラムはシェルスクリプトです。このシェル スクリプトは、入力をパイプする必要がある C プログラムを呼び出し、最終的に C プログラムはシェルを作成します。
ただし、シェルスクリプト内で入力をCプログラムにパイプすると
殻を生かすことができません。ただ走って、
stdin を自分で入力する必要があり、my_prog が終了するとシェルが正しく生成されるため、機能します。./my_prog 呼び出しを C プログラムでラップし、コンパイルして実行するとうまくいくと確信していますが、シェルを使用したよりクリーンな方法があるかどうかについては興味があります。
cat file1 | ./my_prog
さまざまな状況で使用と使用の組み合わせをいくつか試しまし&
たが、成功しませんでした。
ありがとう!