つれづれ電脳記(日くらしPCに向かひて)

つれづれなるままに、日くらしPCに向かひて、その悪戦苦闘ぶりをそこはかとなく書き付くるおじさん。たまに雑談[管理人:goosyun]

つれづれなるままに、日くらしPCに向かひて、デジタル関係の悪戦苦闘ぶりをそこはかとなく書き付くるおじさんです。
たまに雑談してます。連絡・問い合わせフォームは、ページ最下部に置いています。[著者(運営人):goosyun]

(当ブログには本文中に広告リンクが含まれています。)

Linuxパイプ機能のおかげで基本コマンドで複雑高度な処理を実現

 UbuntuなどのLinuxのシェルには、複数のコマンドを連携させる便利な仕組みがあります。
 「パイプライン」、あるいは単に「パイプ」と呼ばれる機能です。

 その機能のことを少しだけ正確に、素人のくせに専門家ぶって説明すると
  「あるコマンドの標準出力を別のコマンドの標準入力につなぐ機能
です。

 簡単に言っちゃうとだ・・・、
    コマンドの実行結果を次のコマンドに手渡して、
    複数のコマンドで次々と処理していくことです。
 使い方は簡単で、コマンドとコマンドの間に、パイプという記号「|」を入れるだけです。
  <コマンド1> | <コマンド2> | ・・・
といった要領です。

 一つの使用例
  ls ~/ドキュメント | grep 'hoge'

 上記では、ドキュメントディレクトリ内のファイル名やサブディレクトリ名の一覧をlsコマンドで取り出し、その中から、さらに「hoge」という文字を含むものだけをgrepコマンドで絞り込んで、抽出しています。





 いつも使っているWindows PCは、基本的にGUI環境だから、コマンドライン操作はしません。だから、パイプライン処理のようなものは今まで見たことがなく、Linuxで初めてお目にかかりました。
 Windows PCでExcel等のVBAコードを記述するとき、変数などを使って複数のプログラムを連携させることは確かにあります。けれども、コマンドとコマンドを直接パイプでつなぐ仕組みではありません。
 このパイプライン処理を初めて見たとき、なかなかおもしろいなと感じました。
 Linuxを扱うことによって初めて触れることができた、新鮮な体験です。

 Linuxでは、一つ一つのコマンドは、単一の機能をしっかり果たしてもらうようにと設計されており、一つのコマンドにたくさんの機能を盛り込むようなことはしていません。Linuxの基本思想みたいなもんでしょうか。
 そのように複雑な機能を果たすコマンドがない代わりに、上記のようにパイプライン処理で、複数の基本コマンドを連携させる仕組みがとられているわけです。このことによって、複雑高度な処理だって、基本コマンドの知識だけで実現可能となります。

 もし、多数の高機能コマンドが用意されているとすると、そのことを覚えるだけでも大変になります。けど、その必要はありません。パイプ機能のおかげで、基本的なコマンドの知識さえ身に付ければ、それだけで複雑な処理も実行できるってぇことになります。
 おぉ、さすがぁLinux




 それでは、また次の記事で
goosyun