OpenWindows ユーザーズガイド (上級編)

フィルタとして grep を使う

grep は、「フィルタ」として他のコマンドと併用されることがよくあります。grep をフィルタとして使うと、他のコマンドの出力結果から不要な情報を除去できます。grep をフィルタとして使うには、他のコマンドの出力結果を grep を通じてパイプする必要があります。パイプの記号は | です。

次の例では、ファイル名が .ps で終わるファイルのうち、5 月 (May) に作成されたファイル名とその詳細情報を表示させます。

$ ls -l *.ps | grep May

上記のコマンド行の最初の要素は、次の部分です。

ls -l *.ps

このコマンドだけを実行すると、次のファイルの一覧が出力されます。

$ ls -l *.ps
-rw-r--r--  1 elvis       7228 Apr 22 15:07 change.ps
-rw-r--r--  1 elvis       2356 May 22 12:56 clock.ps
-rw-r--r--  1 elvis       1567 Jun 22 12:56 cmdtool.ps
-rw-r--r--  1 elvis      10198 Jun 22 15:07 command.ps
-rw-r--r--  1 elvis       5644 May 22 15:07 buttons.ps
$

2 番目の要素は、次の部分です。

| grep May

この部分は、上記のファイルの一覧を grep を通じてパイプし、May というパターンを検索して表示します。

$ ls -l *.ps | grep May
-rw-r--r--  1 elvis       2356 May 22 12:56 clock.ps
-rw-r--r--  1 elvis       5644 May 22 15:07 buttons.ps
$