Windows system >> Windowsの知識 >  >> Linuxシステムチュートリアル >> Linuxチュートリアル >> Linuxのパイプとフィルタチュートリアル

Linuxのパイプとフィルタチュートリアル

  

ときどき、2つのコマンドを一緒に使用して、1つのコマンドの出力を別のコマンドへの入力として使用することができますこれをパイプと呼びます。パイプラインを構築するには、2つのコマンドの間に縦線を使用する必要があります。 接続してください。

パイプはLinuxプロセス間の重要な通信メカニズムです;パイプに加えて、共有メモリ、メッセージキュー、シグナル、ソケットなどのプロセス通信メカニズムがあります。

垂直線を使用してパイプ処理(| 2つのコマンドを区切り、垂直線の左側にあるコマンドの出力を、垂直線の右側にあるコマンドへの入力として使用します。縦線を連続して使用すると、最初のコマンドの出力が2番目のコマンドの入力として使用され、2番目のコマンドの出力が3番目のコマンドの入力として使用されることになります。

データを受け取り、フィルタ処理(処理またはフィルタ処理)してから出力するツール。フィルタと呼ばれます。

grepコマンド

grepは、正規表現を使用して次の構文を使用して一致する行を返すことができる強力なテキスト検索ツールです。
$ grep pattern file(s)

>; ed(grep' g /re /pコマンドed(Linux用の行テキストエディタ)、g /re /pは「正規表現をグローバルに検索し、それを含むすべての行を印刷する」の略語です。これは正規表現を使用したグローバル検索であり、一致する行を出力します。

正規表現とは、それぞれがテキストの照合に使用できる特別な意味を持つ特殊文字を多数含む文字列です。詳細については、正規表現チュートリアル
を参照してください。

grepはフィルタと見なすことができますgrepを取得するファイルを指定しないと、標準入力デバイス(通常はキーボード)から読み込まれますが、他のフィルタについても同様です。

grepコマンドの最も簡単な使用方法は、固定文字を含むテキストを取得することです。

たとえば、パイプラインでgrepコマンドを使用すると、指定された文字を含む行だけがディスプレイに出力されます。
$ ls -l |  Grep" Aug" -rw-rw-rw-1ジョンdoc 11008 Aug 6 14:10 ch02-rw-rw-rw – 1ジョンdoc 8515 8月6日15:30 ch07-rw-rw-r-- 1ジョンdoc 2488 Aug 15 10:51 intro-rw-rw-r-- 1 carol doc 1605 Aug 23 07:35マクロ$

grepコマンドにはたくさんのオプションがあります。

オプション
説明
-vクエリを元に戻し、一致しない行を出力します。たとえば、grep -v< test&demo.txt>は' test'を含まない行を出力します。 -n一致する行と行番号を出力します。 -l一致する行があるファイル名を印刷します。 -c一致した行の総数を出力します。 -i大文字と小文字を区別しません。

以下は、そのような行に一致させるために正規表現を使用しています。 "carol"という文字を含み、その他の文字(ゼロを含む)をいくつでも含め、最後に' Aug'を含めます。

大文字と小文字を区別しないで一致させるには、-iオプションを使用します。  Grep -i" carol。* aug" -rw-rw-r-- 1 carol doc 1605 Aug 23 07:35マクロ$

sortコマンド

sortコマンドはLinuxで非常に便利です。ファイル内の行は、文字または数字でソートされています。 sortコマンドは特定のファイルまたは標準入力から入力を受け取ることができます。

たとえば、フットファイルの行を並べ替えます。
JavaMandalaySushiとSashimiSweetのDeliIsle Peoth's Peppers $

照合順序を制御するには、次のオプションを使用できます。

オプション
説明
-n数字でソートします。たとえば、10の後に2が続き、-nオプションはスペースやタブのインデントを無視します。 -r降順でソートします。ソートのデフォルトは昇順です。 -fは大文字と小文字を区別しません。 + x x列をソートします(0から始まります)。

次の例では、パイプラインでls、grep、およびsortの各コマンドを使用して、' Aug'を含む行をフィルタ処理し、ファイルサイズでソートします。  Grep" Aug"  並べ替え+ 4n-rw-rw-r-- 1キャロルdoc 1605 Aug 23 07:35 macros-rw-rw-r-- 1 john doc 2488 8月15 10:51 intro-rw-rw-rw- 1 john doc 8515 8月6日15時30分ch07 - rw - rw - rw - 1ジョン11008年8月6日14時10分ch02 $

上記のコマンドは、現在のディレクトリ内の8月に変更されたファイルをサイズでソートします。列は番号サイズでソートされます。

pg以上のコマンド

ファイルが多すぎると、表示が乱れてしまうので、pg以上のコマンドを使用して、一度に1画面だけページを表示できます。

たとえば、パイプラインを介して、moreコマンドを使用してディレクトリ内のファイルを表示します。  Grep" Aug"  並べ替え+ 4n  More-rw-rw-r-- 1キャロルdoc 1605 Aug 23 07:35 macros-rw-rw-r-- 1 john doc 2488 Aug 15 10:51 intro-rw-rw-rw- 1ジョンdoc 8515 8月6日15:30 ch07-rw-rw-r-- 1ジョンdoc 14827 Aug 9 12:40 ch03 ...- rw-rw-rw- 1ジョンdoc 16867 Aug 6 15:56 ch05 - もっと - (74% )

上記のように、一度に1画面のテキストしか表示されません表示が一杯になったら、コンテンツ全体のパーセンテージを停止してプロンプトを表示し、スペースバーを押して次の画面を表示します。

Copyright © Windowsの知識 All Rights Reserved