ホームページ  >  記事  >  php教程  >  grep の使用法の概要

grep の使用法の概要

高洛峰
高洛峰オリジナル
2016-12-13 14:36:371223ブラウズ

grep を使用してファイルの内容を検索 - 高速で便利です

1. 機能
grep コマンドは、特定の内容を検索するファイルを指定し、その内容を含む行を標準出力に出力できます。 grep の正式名は Global Regular Expression Print です。これは、その使用権限がすべてのユーザーに与えられることを意味します。
2. 形式
grep [オプション]

基本形式
grep パターン [ファイル...]
(1)grep 検索文字列 [ファイル名]
(2)grep 正規表現 [ファイル名]
ファイル内のすべてを検索 Where パターン
注: 検索する文字列を入力するとき、またはパターン マッチングに正規表現を使用するときは、二重引用符を使用することをお勧めします。一重引用符の使用に注意してください。 3. 主なパラメータ
[オプション] 主なパラメータ:
-c: 一致した行数のみを出力します。
-I: 大文字と小文字は区別されません (単一文字にのみ適用されます)。
-h: 複数のファイルをクエリするときにファイル名を表示しません。
-l: 複数のファイルをクエリする場合、一致する文字を含むファイル名のみが出力されます。
-n: 一致する行と行番号を表示します。
-s: 存在しない、または一致するテキストがないエラー メッセージを表示しません。
-v: 一致するテキストを含まないすべての行を表示します。

注: c がある場合、n は無効になります

パターン正規表現の主なパラメータ: 正規表現の適用 (注: 正規表現を一重引用符で囲むのが最善です)
: 正規表現内の特殊文字を無視する原則意味があるのです。
^: 正規表現の開始行と一致します。
$: 正規表現の終了行と一致します。
<: 正規表現に一致する行から開始します。
>: 正規表現に一致する行の末尾に移動します。
[ ]: [A] などの 1 文字、つまり A が要件を満たします。
[-]: [A-Z] などの範囲、つまり A、B、C ~ Z がすべて要件を満たします。
。 : すべて単一の文字。
*: 文字があり、長さは 0 になる可能性があります。


以下にいくつかの興味深いコマンドラインパラメータがあります:

grep -i パターンファイル: 大文字と小文字を区別せずに検索します。デフォルトでは大文字と小文字が区別されます。

grep -l パターン ファイル: 一致するファイル名のみがリストされます。

grep -L パターン ファイル: 一致しないファイル名がリストされます。

grep -w パターン ファイル: 単語ではなく、単語全体のみに一致します。文字列の一部 (「magical」ではなく「magic」に一致するなど)、

grep -C 数値パターン ファイル: 一致するコンテキストは [number] 行を表示します。

pattern2 ファイル: pattern1 の一致する行を表示します。 pattern2,

grep pattern1 files | grep pattern2: pattern1 と pattern2 の両方に一致する行を表示します。

grep -n パターン ファイルは行番号情報を表示します

grep -c パターン ファイルは総行数を見つけます


正規表現は、Linux/Unix システムでは非常に重要な概念です。正規表現 (「正規表現」または「正規表現」とも呼ばれます) は、文字列のタイプを記述することができるパターンです。文字列が正規表現で記述できる場合、その文字は正規表現に一致するといいます。これは、DOS でユーザーがワイルドカード「*」を使用して任意の文字を表す方法と似ています。 Linux システムでは、正規表現はテキスト内のパターンを検索したり、テキストに対して「検索置換」操作やその他の機能を実行したりするためによく使用されます。



1. grep 検索文字列 [ファイル名]

次のテキストを含む grep.txt という名前のファイルを作成します:

私はゴルフが好きです。

ゴルフは芝生でプレーされます。 gilf.

1. grep.txt ファイル内の文字列 golf のすべてのインスタンスを検索し、文字列を含む行を出力します

grep Golf grep.txt

I like Golf.

grep -n "golf" grep .txt

1:私はゴルフが好きです。

2. grep 正規表現 [ファイル名]

grep -n '[gG]olf' grep.txt

1:私はゴルフが好きです。

2:ゴルフは芝生の上でプレーしました。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。