この記事では、Linux でテキスト検索を行うためのgrepコマンドを解説します。
基本的な使い方から正規表現を使った高度な検索方法までをカバーしますので、検索に自信がない方はぜひ手を動かしながらマスターしていきましょう。
基本的な使い方
grepコマンドの基本的な使い方は、以下の通りです。
grep [オプション] "パターン" [ファイル]最初は[オプション]なしのごく単純なコマンドから説明します。
単一ファイルでの検索
filename.txt内で、文字列"target"を含む行を表示するコードです。
grep "target" filename.txt 複数ファイルでの検索
file1.txtとfile2.txtの二つのファイルから、文字列"target"を含む行を表示します。
grep "target" file1.txt file2.txt 主要なオプション
前述の通り、grepコマンドではオプションをつけることができました。
grep [オプション] "パターン" [ファイル]オプションには-のあとに特定の文字列を追加します。
それでは、一つずつ確認していきましょう。
-iオプション: 大文字・小文字を区別せずに検索
大文字・小文字を区別せずにfilename.txt内で、文字列targetを含む行を検索します。
grep -i "target" filename.txt-rオプション: ディレクトリを再帰的に検索
指定したディレクトリ内のすべてのファイルを再帰的に検索します。
grep -r "target" /path/to/directory -vオプション: パターンに一致しない行を表示
filename.txt内でtargetに一致しない行を表示します。
grep -v "target" filename.txt-cオプション: 一致する行の数を表示
filename.txt内でtargetに一致する行の数を表示します。
grep -c "target" filename.txt filename.txt-lオプション: 検索パターンに一致する行を含むファイル名を表示
*.txtの中で検索パターンに一致する行を含むファイル名を表示します。
grep -l "検索パターン" *.txt-n: 一致する行番号を表示
filename.txt内で検索パターンに一致する行番号を表示します。
grep -n "検索パターン" filename.txt -H: 一致する行とファイル名を表示
file1.txtとfile2.txtのそれぞれで検索パターンに一致する行を表示し、ファイル名も表示します。
grep -H "検索パターン" file1.txt file2.txt -A[行数]: 一致する行とその後の3行を表示
filename.txt内で検索パターンに一致する行とその後の3行を表示します。
grep -A 3 "検索パターン" filename.txt -B [行数]: 一致する行とその前の3行を表示
filename.txt内で検索パターンに一致する行とその前の指定した行数を表示します。
grep -B 3 "検索パターン" filename.txt -C [行数]: 一致する行と前後3行を表示
filename.txt内で検索パターンに一致する行とその前後の指定した行数を表示します。
grep -C 3 "検索パターン" filename.txt filename.txt正規表現の使用
基本的な正規表現の使い方
基本的に、grepコマンドのあとに正規表現パターンを入力する形で対応します。
grep "正規表現パターン" filename.txt拡張正規表現の使い方
grep -E "拡張正規表現パターン" filename.txt
# または以下でも同じです
egrep "拡張正規表現パターン" filename.txt応用編
grepコマンドは多様なオプションを駆使することで、非常に柔軟かつ強力なテキスト検索ツールとなります。これらのオプションを活用して、さまざまな検索ニーズに対応できるようにしましょう。
特定の文字列を含む行を削除する方法
filename.txtから除外したいパターンを含む行を除外し、結果をnewfile.txtに保存します。
grep -v "除外したいパターン" filename.txt > newfile.txt特定の拡張子を持つファイルを再帰的に検索する方法
指定したディレクトリ内のすべての.logファイルを再帰的に検索します。
grep -r --include="*.log" "検索パターン" /path/to/directory
 
	 
			 
			 
			 
			
コメント