{category}

Linux - テキスト操作

grep

グレップ(テキスト処理とシェル

意味 テキスト検索ツール


grepとは?

grepは、Linuxで使用される強力なテキスト検索ツールです。ファイルの中から特定のパターンや文字列を探し出すのに使います。正規表現を使った高度な検索も可能です。

grepの具体的な使い方

基本的な文字列検索

$ grep 'error' /var/log/syslog

👇出力結果

May 10 15:30:22 localhost kernel: [  234.567890] Error: Unable to read device

このコマンドは、/var/log/syslogファイルから'error'という文字列を含む行を検索し、表示します。システムログからエラーメッセージを抽出するのに便利です。

再帰的なディレクトリ検索

$ grep -r 'TODO' /path/to/project/

👇出力結果

/path/to/project/src/main.cpp:// TODO: Implement error handling
/path/to/project/docs/README.md:TODO: Update installation instructions

このコマンドは、指定したディレクトリとそのサブディレクトリ内の全ファイルから'TODO'という文字列を検索します。大規模なプロジェクトで未完了のタスクを見つけるのに役立ちます。

正規表現を使用した検索

$ grep -E '^[0-9]{3}-[0-9]{3}-[0-9]{4}' contacts.txt

👇出力結果

123-456-7890 John Doe
987-654-3210 Jane Smith

このコマンドは、contacts.txtファイルから電話番号形式(000-000-0000)に一致する行を検索します。正規表現を使用して、特定のパターンを持つデータを抽出できます。

grepに関するよくある質問

Q. grepで正規表現は使えますか?
A. はい、grepは正規表現をサポートしています。例えば、'grep '^[0-9]' file.txt'は数字で始まる行を検索します。
Q. grepの-vオプションの機能は?
A. -vオプションは、マッチしない行を表示します。例えば、'grep -v 'error' log.txt'は'error'を含まない行を全て表示します。
Q. 複数のパターンを一度に検索可能?
A. はい、-eオプションを使用するか、パイプ(|)とegrep(拡張grep)を組み合わせることで可能です。例:'grep -e 'error' -e 'warning' log.txt'
Q. grepで検索結果の前後の行も表示?
A. -AオプションでAfter、-BオプションでBefore、-CオプションでContext(前後)の行を表示できます。例:'grep -C 2 'error' log.txt'はマッチした行の前後2行も表示します。

Linuxのgrepについても学べる書籍の紹介

「プログラミング単語帳」を使って、プログラミングの単語を英単語のように学習してみませんか?
プログラミング単語帳には、Linuxのgrepやcut、tr、()、などのような実務でよく使われる単語が数百以上収録されています。
この書籍には、プログラミングの単語の意味や読み方、単語の使い方がわかる例文などが掲載されており、いつでもどこでもプログラミングの学習ができます。

よく使われる単語にだけ絞って学習することができるので、効率的にプログラミングが学習できます。

1日5分の暗記でプログラミンが身に付く!プログラミング単語帳 公式ストアで発売中!

HTML編、CSS編、JavaScript編、PHP編、Ruby編、その他単語編の6シリーズ分が公式ストアにて販売中です。気になった方はぜひ購入してみてください。


Linuxを学べる「プログラミング単語帳」アプリ

プログラミング単語帳がアプリになりました!Linuxはもちろん、10種類のプログラミング言語の中から、よく使われる単語をスマホで学習できます。

収録単語は2,000単語以上!
現在は、HTML、CSS、JavaScirpt、PHP、Laravel、Ruby、Python、MySQL、Linux、など10カテゴリーの単語帳が1つのアプリに収録されています。

いつでも、どこでも、隙間時間を有効活用して、プログラミングを効率的に学べるので、ぜひダウンロードしてみてください。

2024年7月アップデート情報:「Laravel」カテゴリーが追加されましました!

2024年8月アップデート情報:「MySQL」「Linux」カテゴリーが追加されましました!


関連するそのほかの単語

cut

テキストの一部を切り取る

種類: テキスト操作

tr

文字の置換や削除を行う

種類: テキスト操作

()

コマンドをグループ化

種類: コマンドグループ化

service

システムサービスの管理

種類: システムサービス

lscpu

CPUの詳細情報を表示

種類: システム情報表示