Linuxでは、コマンドをパイプでつなぐと別プロセスを立ち上げ処理をします。 ※そのため、環境変数を引き継げないなどの問題が発生する。
すると、CPUもしくはコアが複数あればカーネルが別々に振分けるので、パイプを使うだけで複数のコアを使うシェルを作ることが出来ます。よって、負荷の高い処理をパイプでつなげると、効果が出やすいことになります。grepやawkで処理をする際に一コマンド内に処理をすべて書くよりも、あえて分割してパイプでつなげて並列処理をさせたほうが速くなる場合があるかもしれません。
また、これはパイプに限ったことではありませんが、行末に「\」を書くとコマンドを複数行に分けて記述することが出来ます。パイプでつなげすぎて行が長くなる場合には、適度に改行を入れるといいと思います。
|
Linux >