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

3
Linuxで/ procに表示されるオープンパイプに関する詳細情報を取得するにはどうすればよいですか?
Linuxでは、/proc/<pid>/fd頻繁に掘り下げると、次のような出力が表示されます。 lrwx------ 1 root root 64 Jul 30 15:14 0 -> /dev/null lrwx------ 1 root root 64 Jul 30 15:14 1 -> /dev/null l-wx------ 1 root root 64 Jul 30 15:14 10 -> pipe:[90222668] lr-x------ 1 root root 64 Jul 30 15:14 11 -> pipe:[90222669] l-wx------ 1 root root 64 …
53 linux  pipe 

10
パイプを介して飛んでいるファイルを解凍する
標準出力で解凍または同様のプログラムを動作させることはできますか?状況は、その場で解凍されるはずのzipファイルをダウンロードしていることです。 関連問題:ダウンロードしたファイルをbashの標準出力にパイプするにはどうすればよいですか?


3
検索結果でxargsを使用するときにファイル名のスペースを処理するにはどうすればよいですか?
私の一般的なプラクティスの1つは、特定のタイプのすべてのファイルに対してgrepsを実行することです。たとえば、「rumpus」という単語を含むすべてのHTMLファイルを見つけます。それをするために、私は find /path/to -name "*.html" | xargs grep -l "rumpus" 時々、find名前にスペースなどのファイルを返しますmy new file.html。ときにxargsこれをするために渡されたgrep、しかし、私はこれらのエラーを取得します: grep: /path/to/bad/file/my: No such file or directory grep: new: No such file or directory grep: file.html: No such file or directory 私はここで何が起こっているのかを見ることができます:パイプまたはパイプxargsはスペースをファイル間の区切り文字として扱っています。しかし、私の人生では、この動作を防ぐ方法がわかりません。find+ で実行できますxargsか?または、まったく異なるコマンドを使用する必要がありますか?
28 find  grep  pipe  xargs 

4
stdoutをパイピングせずにstderrをパイピングする方法
標準出力ストリームをパイプせずに標準エラーストリームをパイプする方法を教えてください。 このコマンドが機能することは知っていますが、標準出力も記述します。 Command 2>&1 | tee -a $LOG 標準エラーを取得するにはどうすればよいですか? 注:これから欲しいのは、stderrストリームをログに書き込み、stderrとstdoutの両方をコンソールに書き込むことです。
24 unix  pipe  ksh  stderr 

1
パイプを使用するとシェルコマンドが遅くなり、中間ファイルで高速になる
中間ファイルを使用するとき、またはパイプを使用するとき、処理時間のこの大きな違いを誰もが理解していますか?新しいdebian squeezeサーバーで標準ツールを使用してtiffをpdfに変換しています。これを行う標準的な方法は、最初にpsに変換することです。 パイプなし: root@web5:~# time tiff2ps test.tif > test.ps real 0m0.860s user 0m0.744s sys 0m0.112s root@web5:~# time ps2pdf13 -sPAPERSIZE=a4 test.ps > test.pdf real 0m0.667s user 0m0.612s sys 0m0.060s パイプ付き: root@web5:~# time tiff2ps test.tif | ps2pdf13 -sPAPERSIZE=a4 - > test.pdf real 1m6.098s user 0m15.861s sys 0m50.9 最後のコマンドの間、gsプロセスは常に100%です。 更新: ps生成のstrace出力は次のとおりです。 root@web5:~# strace …

5
ファイル名を期待するコマンドにパイプを渡します
fooファイル名の引数を取るコマンドがあるとします:foo myfile.txt。迷惑なことに、foo標準入力からは読み取りません。実際のファイルの代わりに、別のコマンドの結果を渡します(実際にpvは、ファイルをcatし、副作用として進行状況メーターを出力します)。 これを実現する方法はありますか?私の手品のなにも何もしないようです。 (fooこの場合、PHPスクリプトは、ファイルを順番に処理すると信じています)。 UbuntuとBashを使用しています 編集少し不明瞭な問題の説明で申し訳ありませんが、私が望むことをする答えは次のとおりです: pv longfile.txt | foo /dev/stdin 今私はそれを見ることが非常に明白です。
19 bash  pipe  command 

4
あるプロセスから別のプロセスにパイプされたバイト数をカウントする
あるプロセスから別のプロセスにデータをパイプするシェルスクリプトを実行しています process_a | process_b 2つのプログラム間で何バイトが渡されたかを知る方法を知っている人はいますか?私が現時点で考えることができる唯一の解決策は、stdinから読み取り、stdoutに書き込み、転送されたすべてのデータをカウントする小さなcプログラムを作成し、環境変数にカウントを保存することです。 process_a | count_bytes | process_b 誰にも素敵なソリューションがありますか?
17 bash  shell  pipe 

1
Teeを使用してSTDERRおよびSTDOUTをファイルにキャプチャする
を使用して両方をキャプチャするのSTDERRとSTDOUT、同じファイルにキャプチャするのが最適な順序はわかりませんtee。私がファイルにパイプしたい場合、リダイレクト後にファイルハンドルをマップする必要があることを知っています、すなわち find . >/tmp/output.txt 2>&1 これは、送信するためにシェルに指示STDOUTを/tmp/output.txtしてから送信するためSTDERRにSTDOUT(今に送信されています/tmp/output.txt)。 2>&1ファイルをリダイレクトする前にを実行しようとしても、望ましい効果は得られません。 ただし、パイプを使用したい場合teeは、次のようになります。 find . |tee /tmp/output.txt 2>&1 # or find . 2>&1 |tee /tmp/output.txt # ?
15 linux  unix  redirect  pipe 

3
mysqldumpの出力をscpにリダイレクトする
私は何年も前にこの気の利いたトリックをしたLinuxプロと働いていました。彼はmysqldumpを実行できますが、出力をdiskに書き込むのではなくscp / ssh接続にリダイレクトします。私は以前働いていた場所でこの静かさを少し活用しましたが、これをどうやってやるのか思い出せません。 サーバーのハードドライブが最後の脚にあり、集中的な目的で読み取り専用として永続的にマウントされているという問題に直面しています。 ローカルディスクにダンプを書き込んで転送するのは明らかに問題外なので、このコマンドライントリックを使用して、データベースを新しいサーバーにバックアップできるようにしたいと考えていました。 これは実際には小さなトリックですか?もしそうなら、構文は何ですか? それ以来、mysqlに接続してダンプを実行することさえできないという経験があるファイルシステムの読み取り専用の問題が原因であることに気付きました。しかし、あなたのフィードバックは素晴らしく、将来的に他の誰かに役立つことを願っています



4
データをsftp接続にパイプする方法?
ftpは、put "|..." "remote-file.name"データをFTP接続にパイプするコマンドをサポートしています。sftpで利用できる同様のものはありますか? sftpで次のエラーが発生します。 sftp 'jmw@backupsrv:/uploads' sftp> put "| tar -cx /storage" "backup-2012-06-19--17-51.tgz" stat | tar -cv /storage: No such file or directory 上記のように、sftpクライアントは明らかにコマンドを実行しません。 pipeコマンドを使用して、ファイルストリームをsftpに直接リダイレクトしたいと思います。(sftpサーバーにアップロードする前に、同じディスク上にバックアップファイルを作成するための十分なスペースがないためです。)
9 ssh  sftp  pipe 

1
ストリームを連結する方法は?
catファイルを連結できることはわかっていますが、ファイルとストリームを組み合わせて連結し、その結果を別のプロセスにパイプする必要があります。 質問をより具体的にするために、と連結cat abc.sqlしてgzip -dc xyz.sql.gz、cat qvf.sqlすべてを単一のストリームとしてにパイプしmysqlます。 これを達成するための最良の方法は何ですか?
9 shell  pipe  cat 

2
Cat、Grep、リダイレクト出力…空白ファイル?
私は走った cat /opt/webapplications/Word/readme.log | grep -v 'Apple' そして、私は期待していたcliの出力を取得しましたが、そのすべての行にreadme.logは ' Apple' が含まれていませんでした... 次に走った... cat /opt/webapplications/Word/readme.log | grep -v 'Apple' > /opt/webapplications/Word/readme.log ただし、/opt/webapplications/Word/readme.log空白です。 なぜこれが起こったのか、または私がこれについて行ったはずの正しい方法を誰かに説明できますか?
8 bash  grep  pipe  cat 

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