読み方 : グレップ
grep【global regular expression print】
検索条件の指定には正規表現を用いる。正規表現とは、文字列のパターンを記号で表現する記法で、任意の一文字、文字の繰り返し、行頭・行末といった条件を簡潔に記述できる。例えば「.」は任意の一文字を表し、「.ut」と指定すれば「cut」「put」「but」などを一括して検索対象にできる。
基本的な使い方は、検索パターンとファイル名を引数に指定するものである。一致した行が順に出力され、複数ファイルを指定した場合はファイル名も併せて表示される。オプションとして、一致した行数のカウント(-c)、大文字・小文字を区別しない検索(-i)、一致しない行の抽出(-v)、一致行の前後の表示(-A/-B/-C)などが用意されている。環境によっては拡張正規表現(-E)やPerl互換正規表現(-P)も利用できる。
grepは多くのシェルに用意されている「パイプ」(pipe)の仕組みを用いて他のコマンドと組み合わせて使われることも多い。他のコマンドの出力を標準入力として受け取り、特定のパターンを含む行だけを絞り込むことができる。例えば、大量のログ出力から特定のエラーメッセージだけを取り出すといった処理も、パイプで連続的に処理することで簡潔に実現できる。
類似するコマンドとして、固定文字列の検索に特化した「fgrep」や、拡張正規表現を扱う「egrep」がある。現在は多くの実装でgrepのオプションに統合されているが、互換性のため独立したコマンドとして残している環境も多い。Linuxでは「GNU grep」が標準的な実装として採用されており、macOSにはBSD系のgrep実装が搭載されている。
主なLinuxコマンド
| コマンド |
機能 |
| ls | ファイル/ディレクトリの一覧表示 |
| cd | カレントディレクトリ変更 |
| pwd | カレントディレクトリを表示 |
| mkdir | ディレクトリ作成 |
| cp | ファイル/ディレクトリをコピー |
| mv | ファイル/ディレクトリを移動/改名 |
| rm | ファイル/ディレクトリの削除 |
| ln | ファイル/ディレクトリのリンク操作 |
| find | ファイル/ディレクトリの検索 |
| ln | ストレージの記録内容を丸ごとコピー |
| touch | ファイル/ディレクトリのタイムスタンプ変更 |
| lsattr | ファイル/ディレクトリの拡張属性表示 |
| chattr | ファイル/ディレクトリの拡張属性変更 |
| chmod | ファイル/ディレクトリのパーミッション変更 |
| umask | デフォルトのパーミッションを変更 |
| chown | ファイル/ディレクトリの所有者変更 |
| chroot | ファイルシステムのルートディレクトリ変更 |
| fsck | ファイルシステムのエラーチェック |
| mkfs | デバイスにファイルシステムを作成 |
| df | ストレージの空き領域表示 |
| du | ディレクトリの占有容量を表示 |
| echo | 指定文字列を表示 |
| cat | 入力を標準出力へ(ファイルの画面表示) |
| less | スクロールを一画面ずつ停止 |
| more | スクロールを一画面ずつ停止 |
| head | ファイルの先頭を表示 |
| tail | ファイルの末尾を表示 |
| wc | ファイルの行数、文字数、単語数をカウント |
| diff | 2つのファイルの差分を表示 |
| grep | ファイルを正規表現で検索 |
| sed | テキストデータを編集 |
| awk | テキストデータを編集 |
| vi | テキストエディタを起動 |
| ip | 様々なネットワーク設定を確認・変更 |
| ifconfig | ネットワーク設定表示/操作 |
| netstat | ネットワーク統計情報表示 |
| ss | ポート/ソケットの状態を表示 |
| arp | IPアドレスとMACアドレスの対応関係を管理 |
| nslookup | IPアドレスとドメイン名の変換 |
| dig | DNS情報を調査 |
|
|
他の辞典等による「grep」の解説 (外部サイト)
お手数ですが設定や環境の確認をお願いいたします。
当サイトは広告収入で運営されております。
広告の表示にご理解とご協力をお願いいたします。🙇