、Linuxのgrepコマンド
、Linuxのgrepコマンドは、条件文字列に一致するファイルを検索するために使用されます。
grepコマンドを使用すると、ファイルの内容が指定されたテンプレートのスタイル、表示スタイルテンプレートの列が含まれますデフォルトのgrepコマンドに準拠して発見した場合、指定されたテンプレートスタイルファイルを含むコンテンツを検索するために使用されます。 「 - 」は、任意のファイル名、ファイル名、または指定を指定しない場合はgrepコマンドは、標準入力デバイスからデータを読み込みます。
文法
grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][--help][范本样式][文件或目录...]
パラメータ:
- -aは無視するか、バイナリデータではありません--text。
- -A <表示カラム>または--afterコンテキスト= <表示カラム>テンプレートのスタイル外の行の行を表示することに加えて、およびそれ以降の列の内容を表示します。
- -bまたは--byte-オフセットテンプレートのスタイルに合わせて行を表示する前に、最初の文字位置の行番号を識別します。
- テンプレートのスタイル外の行の行を表示することに加え-B <表示カラム>または--beforeコンテキスト= <表示列>、および前の列の内容を表示します。
- -cまたは列のテンプレートのスタイルの番号の行で計算さ--count。
- -C <表示カラム>または--context = <表示列>または< - 表示列>テンプレートのスタイル外の行の行を表示することに加えて、以降の前に列の内容を表示します。
- -d <動作>または--directories = <動作>指定したファイルではなくディレクトリで検索したいとき、あなたは、このパラメータを使用する必要がありそうでない場合はgrepコマンドが情報を返し、アクションを停止します。
- -e <スタイルテンプレート>または--regexp = <テンプレートスタイル>指定された文字列のスタイルテンプレートとしてファイルの内容を検索します。
- -Eまたは--extended-regexpに用いられる一般的な表記法を拡張するためのテンプレートのスタイル。
- -f <テンプレートファイル>または--file = <テンプレートファイル>は、一つ以上のテンプレートのスタイルが含まれている内容は、テンプレートファイルを、指定しますので、各列のテンプレートのスタイルのためのフォーマットの条件を満たしているコンテンツのテンプレートファイルを検索するgrepを。
- -fまたは--fixed-regexpには、固定文字列のテンプレートスタイルリストとして扱われます。
- -gまたは--basic-regexpには、使用する通常のテンプレートスタイルの表記として扱われます。
- -hまたはテンプレートのスタイルに合わせて行を表示する前に、--no-filenameは、列のファイル名が所属示すものではありません。
- テンプレートのスタイルに合わせて行を表示する前に-Hまたは--with-ファイル名、ファイル名は、カラムが属していることを示しています。
- 違い-iまたは--ignore-caseは文字のケースを無視します。
- -lまたは--file-マッチでは、指定されたテンプレート形式のファイル名に一致する文書の内容を示しています。
- -lまたは--files-なしの一致リストファイルの内容は、指定されたテンプレート形式のファイル名を一致していません。
- -nまたは--line-numberは、スタイルテンプレートに沿って行を表示する前に、列の列番号の数をマーク。
- -qまたは--quietまたはいずれかの情報が表示されませ--silent。
- エフェクトとは、-rを指定するかこのパラメータは「-d再帰」パラメータと同じです--recursive。
- -sまたは--no-のメッセージは、エラーメッセージが表示されません。
- -vまたは--revertマッチ逆引き参照。
- -Vまたは--versionバージョン情報を表示します。
- -wまたは--word-regexpにしか表示されません全体単語の一致する列。
- -xまたは列全体にマッチ--line-regexpの表示行のみ。
- -yこのパラメータの効果とは「-i」と同じパラメータを指定します。
- オンラインヘルプを--help。
例
1は、現在のディレクトリに、サフィックスは、「テスト」のワードファイルはファイル「テスト」という文字列が含まれている必要があり、文字列のラインをプリントアウト見つけます。 この場合は、次のコマンドを使用できます。
grep test *file
結果は以下の通りであります:
$ grep test test* #查找后缀有“test”的文件包含“test”字符串的文件 testfile1:This a Linux testfile! #列出testfile1 文件中包含test字符的行 testfile_2:This is a linux testfile! #列出testfile_2 文件中包含test字符的行 testfile_2:Linux test #列出testfile_2 文件中包含test字符的行
2、再帰的に修飾されたファイルを見つけます。 例えば、(その後、サブディレクトリがある場合)、文字列「更新」ファイルを含むすべてのファイルを指定されたディレクトリの/ etc / ACPIとそのサブディレクトリを検索し、文字列の内容に行をプリントアウトするために、使用されるコマンドは次のとおりです。
grep -r update /etc/acpi
出力は次のとおりです。
$ grep-r update /etc/acpi #以递归的方式查找“etc/acpi” #下包含“update”的文件 /etc/acpi/ac.d/85-anacron.sh:# (Things like the slocate updatedb cause a lot of IO.) Rather than /etc/acpi/resume.d/85-anacron.sh:# (Things like the slocate updatedb cause a lot of IO.) Rather than /etc/acpi/events/thinkpad-cmos:action=/usr/sbin/thinkpad-keys--update
3、逆引き。 前の例のそれぞれが見つけ、行の条件を満たしていない内容をプリントアウトすることができます "-v"パラメータで修飾行をプリントアウトすることです。
テスト、今回のテストに含まれていないファイル名を含む行を検索し、コマンドは次のとおりです。
grep -v test*
結果は以下の通りであります:
$ grep-v test* #查找文件名中包含test 的文件中不包含test 的行 testfile1:helLinux! testfile1:Linis a free Unix-type operating system. testfile1:Lin testfile_1:HELLO LINUX! testfile_1:LINUX IS A FREE UNIX-TYPE OPTERATING SYSTEM. testfile_1:THIS IS A LINUX TESTFILE! testfile_2:HELLO LINUX! testfile_2:Linux is a free unix-type opterating system.