ホームページ  >  記事  >  運用・保守  >  Linuxでのgrepコマンドの使い方をわかりやすく解説

Linuxでのgrepコマンドの使い方をわかりやすく解説

齐天大圣
齐天大圣オリジナル
2020-09-16 16:12:303435ブラウズ

Linux システムを学ぶには、grep コマンドをマスターする必要があります。 grep コマンドは、ファイルまたは標準出力内で一致する行を検索するために使用されますが、その利点は正規表現をサポートしていることです。日常業務において、grep は間違いなく最もよく使用されるコマンドの 1 つです。

注: この記事では grep の使用法のみを紹介し、正規表現については紹介しません。

# 一般的なオプションのいくつかとその意味を見てみましょう:

Options

  • ##-i 検索時に大文字と小文字を区別しない

  • -n 一致する行をすべてリストし、行番号を表示します。

  • -v 選択を反転します

  • -c一致する行数のみを出力します

  • -l 一致するファイル名のみをリストし、特定の一致する行はリストしません

  • -h 実行します複数のファイルをクエリするときにファイル名を表示しない

  • -r 再帰的検索

  • -q 結果の出力を無効にし、終了ステータスは検索を示します成功しましたか?

  • --color=auto 見つかったキーワードを色で表示します

  • -E, --extended-regexp PATTERN はい 拡張可能な正規表現式 (ERE と省略)

  • -B, --before-context=NUM テキストで始まる NUM 行を出力

  • -A, - -after-context=NUM テキストで終わる NUM 行を印刷します

grep の使用例をいくつか示します:

php .ini にはタイムゾーン設定があることがわかっています。明確ではありません。タイムゾーンしかわかりません。構成情報を見つけたい場合は、grep を使用して見つけることができます

# 加上-i选项,忽略大小写
# grep -i timezone /usr/local/php/etc/php.ini 
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = PRC

grep は複数のファイルの検索をサポートしています

# 这里我们加上-n选项,输出文件的行号
# grep -in stdio itoa.c quicksort.c 
itoa.c:2:#include <stdio.h>
quicksort.c:1:#include <stdio.h>

逆の選択 - v が使用されています。プログラムを実行し、そのプログラムがプロセス内にまだ存在するかどうかを確認したい場合は、次のメソッドを使用できます。

# ps aux | grep curl.php 
root     14374 98.3  1.2 277844 12396 pts/0    R+   07:54   1:07 php curl.php
root     14404  0.0  0.0 112664   984 pts/2    R+   07:55   0:00 grep --color=auto curl.php

ここに問題があります。フィルターするには -v を使用する必要があります。 grep 自体のプロセスを終了します。

# ps aux | grep curl.php | grep -v grep 
root     14374 98.5  1.2 277844 12396 pts/0    R+   07:54   2:36 php curl.php

最後のコマンドに root を含む行数をカウントしたいので、ここでは -c オプションを使用する必要があります。

# last | grep -c root
353

ファイル内の特定のテキストをバッチで置換する必要があることがよくありますが、これらのテキストがどのファイルに含まれているかをどのように確認すればよいでしょうか。 grep は、-l オプションを使用して実行できます

# find . -type f -exec grep -l define {} \;
./find.c
./itoa2.c
./wc.c
./test.c
./wordcnt.c
./longestline.c
./cal.c
./sortline2.c
./sortline.c
./found.c
./atof.c

別の例を見てみましょう。この例では、-E 拡張通常ルールを使用しています。php.ini ファイル内のコメント行と空白行をフィルターで除外したいと考えています。

grep -vE &#39;^;|^$&#39; /usr/local/php/etc/php.ini

一般的に使用されるオプション -r もあり、これを使用すると、現在のディレクトリ内のすべてのファイルとサブディレクトリ ファイルを再帰的に検索できます。次に、Web サイトのディレクトリにどのようなフッター ファイルがあるかを確認します。次のコマンドを使用して、

grep -rn footer ./
を見つけます。

以上がLinuxでのgrepコマンドの使い方をわかりやすく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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