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

パイプまたは名前付きパイプは、明示的に連携するように設計されていなくても、個別のプロセスが互いに通信できるようにするPOSIX標準の機能です。

5
grepからlessへのパイプを使用するときに色付きの結果を取得する
私はgrepの--colourオプションを頻繁に使用しますが、あまり使用しないこともよくあります。grepの結果をより少なくパイプし、色を維持するにはどうすればよいですか。(またはそれは可能ですか?) grep "search-string" -R * --colour | less 編集: 私は直接的な解決策またはこれと同等のものを探しています。
246 colors  grep  pipe  less 


4
コマンド出力を他のコマンドにパイプする方法は?
例: ls | echo何も印刷しません(実際には空白行)。ファイルのリストを印刷することを期待しています。 ls | grep 'foo'一方、期待どおりに動作します(名前に「foo」が含まれるファイルを出力します)。 これらの状況で私がやることは次のようなものです。 ls | while read OUT; do echo $OUT; doneしかし、これはかなり面倒です。 パイピングが一部のコマンドで機能するが、他のコマンドでは機能しないのはなぜですか?この問題を回避するにはどうすればよいですか?
83 bash  pipe 

4
なぜ直接「dd」をgzipにパイプするのは、直接コピーよりもずっと速いのですか?
ネットワーク内のコンピューターから同じネットワーク内の別のコンピューターへのパスを100 Mbit / s回線でバックアップしたかった。このために私はやった dd if=/local/path of=/remote/path/in/local/network/backup.img これにより、ネットワーク転送速度が非常に低くなり、約50〜100 kB / sになりました。これは永遠にかかっていたはずです。そこで、私はそれを止めて、その場でgzip圧縮して、転送量が少なくなるように、はるかに小さくすることにしました。だから私はやった dd if=/local/path | gzip > /remote/path/in/local/network/backup.img.gz しかし、今では1 MB /秒のネットワーク転送速度のようなものが得られるため、10〜20倍速くなります。これに気づいた後、いくつかのパスとファイルでこれをテストしましたが、常に同じでした。 パイプddスルーgzipは、ストリームのバイト長を大幅に削減するのではなく、転送率を大幅に向上させるのはなぜですか?圧縮中のCPU消費量が増加するため、代わりに転送レートがわずかに低下することも予想されていましたが、今ではダブルプラスになります。私は幸せではないというわけではありませんが、私はただ疑問に思っています。;)
79 backup  performance  dd  pipe  gzip 

5
Linuxでパイプをレート制限する方法は?
Linuxでパイプをレート制限するために使用できるフィルターはありますか?これが存在する場合は、レート制限と呼びましょう。端末に次のように入力できます cat /dev/urandom | rate-limit 3 -k | foo ランダムバイトのストリームをfooの標準入力に3キロバイト/秒のレート(より低いレート)で送信するため。
63 linux  pipe 

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

7
cURL:リダイレクト時に奇妙な出力を抑制する方法は?
stderrbashシェルからcURLリクエストの詳細セクション(に送信される)のみを印刷しようとしています。 しかし、私stdoutがこのようにリダイレクトすると: curl -v http://somehost/somepage > /dev/null 何らかの結果テーブルが、出力の中央に表示されますstderr: % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 終わり近くにこれが続きます: { [data not shown] 118 592 0 592 0 0 15714 …

8
「猫の無駄な使用」に関する一般的なコンセンサスは何ですか?
grep、sed、trなどの複数のUNIXコマンドをパイプ処理するとき、catを使用して処理されている入力ファイルを指定する傾向があります。のようなものcat file | grep ... | awk ... | sed ...。 しかし最近、これが猫の無用な使用であることを示す私のコメントにいくつかのコメントを残した後、私はここで質問するだろうと思いました。 私はこの問題を調べて、ウィキペディアのUUOCと猫の役に立たない使用に関する記事に出会いました。 私がここで出会った最も近い質問はこれでした:猫を呼ぶのはもったいないですか?–しかし、それは私が求めているものとはまったく異なります。 UUOCキャンプではcmd1 args < file | cmd2 args | cmd3 ..、コマンドを使用すること、またはコマンドにファイルから読み取るオプションがあり、ファイルを引数として渡すことを提案していると思います。 しかし、私にcat file | cmd1 ... | cmd2は読みやすく理解しやすいようです。入力ファイルをさまざまなコマンドに送信するさまざまな方法を覚える必要はなく、プロセスは論理的に左から右に流れます。最初の入力、次に最初のプロセス...など。 猫の無用な使用についてどのような議論がなされているのか理解できていませんか?2秒ごとに多くの処理を実行するcronジョブを実行している場合、catは無駄になる可能性があることを理解しています。しかし、そうでなければ猫の使用に関する一般的なコンセンサスは何ですか?
39 command-line  unix  pipe  cat 

2
パイプの反対側にあるプロセスを見つける
私はいくつかのプロセスの奇妙な振る舞いを追跡しようとしていますが、過去を追跡する方法がわからない点に遭遇しました。を使用して添付したハングプロセスは、これをstrace -p示した: Process 7926 attached - interrupt to quit read(3, さて、fd 3での入力を待っているので、私はそれが何であるかを調べに行きました: $ ls -l /proc/7926/fd/3 lr-x------ 1 user grp 64 Mar 15 10:41 /proc/7926/fd/3 -> pipe:[20043922] さて、それはパイプです...今、質問です-このパイプの作者は誰ですか?Linuxには、Unixドメインソケット用の特別な機能があり、NULバイトで始まるファイルパスを要求して「抽象ソケットネームスペース」にアクセスできることを思い出します(ここで説明します:http : //tkhanson.net/cgit.cgi /misc.git/plain/unixdomain/Unix_domain_sockets.html)。パイプに利用できる類似のものがあるかどうかはわかりませんが、何も見つかりませんでした。 私はのようなツールを望んでいたfuserかlsofのかもしれないのヘルプを、私はどこにももらっていません。 何か案は?
34 linux  pipe 

3
Powershellが1つのアイテムを持つ文字列配列を文字列にサイレントに変換するのはなぜですか
次のPowershellスクリプトを検討してください。このスクリプトは、名前に「og」が含まれるC:\内のフォルダーを検索します。 PS C:\>(ls |%{$ _。Name} |?{$ _。Contains( "og")}) PerfLogs プログラムファイル setup.log ここで、検索を絞り込んで1つのアイテムのみを取得します。 PS C:\>(ls |%{$ _。Name} |?{$ _。Contains( "Prog")}) プログラムファイル 奇妙なことは、最初の操作が配列を生成するのに対し、2番目の操作(IMHOは意味的に同じ操作なので、同じタイプの結果を生成するはずです)がstringを生成することです。これは、次の結果で確認できます。 PS C:\>(ls |%{$ _。Name} |?{$ _。Contains( "og")})。Length 3 PS C:\>(ls |%{$ _。Name} |?{$ _。Contains( "Prog")})。Length 13 これは、「Prog」に一致するフォルダよりも「og」に一致するフォルダが少ないため、非常にいらいらする可能性があります。 明らかに、PowerShellは暗黙的に単一項目配列を単一オブジェクトに「アンボックス化」し、長さ1の配列を取得することはありません。 m配列を扱うかどうか。 これを防ぐにはどうすればよいですか?これにどう対処しますか?
33 powershell  pipe 

3
複数行のbashコマンドのコメント
この単一コマンドのBASHスクリプトファイルは理解するのが難しいため、アクションごとにコメントを書きたいと思います。 echo 'foo' \ | sed 's/d/a/' \ | sed 's/e/b/' \ | sed 's/f/c/' \ > myfile (sedは単なる例であり、実際にはgrepsとtrsとawksが混在しています) 行を複製したり、各コメントが適用される行から遠く離れていることを嫌います。 しかし同時に、BASHは「インライン」コメントを許可していないようです。 この問題を解決するエレガントな方法はありますか?
32 bash  pipe  comments  sh 


3
ハウツーパイプ:cp | タール| 中間ファイルを作成せずにgzipしますか?
パイプすることが可能かどうか誰にも教えてもらえますか?これは、AとB.tar.gzの間のどこかに物理ファイルを作成する必要はありませんか? これは私がやろうとしていることです: ファイルA AからBへの名前変更 タールB.tar gzip -9 B.tar.gz たとえば、次のとおりです。 cp A B | tar cvf - B | gzip -9 B.tar.gz
31 gzip  pipe  tar 

5
Bash:匿名のfifoを作成する
私たちは皆知っています mkfifo そしてパイプライン。最初のものは 命名 このように、ほとんどの場合、名前を選択する必要があります。 mktemp 後でリンクを解除することを忘れないでください。もう1つは匿名のパイプを作成し、名前と削除の面倒はありませんが、パイプの両端がパイプライン内のコマンドに結び付けられているため、ファイル記述子を把握して残りの部分で使用するのはあまり便利ではありません。スクリプトの。コンパイルされたプログラムでは、私は ret=pipe(filedes); Bashには exec 5<>file だから、人は何かのように期待するだろう "exec 5<> -" または "pipe <5 >6" - Bashにそのようなものはありますか?
30 bash  script  pipe 

3
gunzipとmysqlをパイプでダンプをgunzipしてインポートする
.gz sqlダンプファイル(例:foo.sql.gz)があり、クラシックmysqlコマンドを使用してデータベースにインポートします。 gunzip -c foo.sql.gz > foo.sql mysql -uroot -ppassword foo < foo.sql fooはデータベースです。 これら2つのコマンドを1つのコマンドにパイプするにはどうすればよいですか? 試した gunzip -c foo.sql.gz | mysql -uroot -ppassword foo しかし、機能していないようです。私は得るgzip: stdout: Broken pipe
27 mysql  pipe  dump  stdout  gunzip 

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