1. 公式紹介 grep は Linux でよく使用されるコマンドです。これは、ファイルやテキストに対して繰り返し検索タスクを実行するために使用される Unix ツールです。grep コマンドを使用して特定の検索条件を指定し、ファイルとその内容を検索して有用な情報を取得できます。 使用方法: grep [オプション]... パターン [ファイル]... 各 FILE または標準入力で PATTERN を検索します。 PATTERN は、デフォルトでは基本正規表現 (BRE) です。 例: grep -i 'hello world' menu.h main.c 正規表現の選択と解釈: -E, --extended-regexp PATTERN は拡張正規表現 (ERE) です -F, --fixed-strings PATTERNは改行で区切られた固定文字列のセットです -G, --basic-regexp PATTERNは基本正規表現(BRE)です -P, --perl-regexp PATTERNはPerl正規表現です -e, --regexp=PATTERN マッチングにパターンを使用する -f, --file=FILE FILEからPATTERNを取得する -i, --ignore-case 大文字と小文字の区別を無視する -w, --word-regexp パターンが単語全体に一致するように強制する -x, --line-regexp パターンが行全体に一致するように強制する -z, --null-data データ行は改行ではなく 0 バイトで終わります その他: -s, --no-messages エラーメッセージを抑制します -v, --invert-match 一致しない行を選択 -V, --version バージョン情報を表示して終了する --help このヘルプテキストを表示して終了します 出力制御: -m, --max-count=NUM NUM マッチしたら停止する -b, --byte-offset 出力行にバイトオフセットを印刷します -n, --line-number 出力行に行番号を印刷する --line-buffered 出力を各行ごとにフラッシュする -H, --with-filename 一致するファイル名を出力します -h, --no-filename 出力時にファイル名のプレフィックスを抑制します --label=LABEL 標準入力ファイル名のプレフィックスとして LABEL を使用する -o, --only-matching パターンに一致する行の部分のみを表示します -q、--quiet、--silent は通常の出力をすべて抑制します --binary-files=TYPE はバイナリファイルが TYPE であると想定します。 TYPE は「バイナリ」、「テキスト」、または「一致なし」です -a, --text は --binary-files=text と同等です -I は --binary-files=without-match と同等です -d, --directories=ACTION ディレクトリの処理方法。 アクションは「読み取り」、「再帰」、または「スキップ」です -D, --devices=ACTION デバイス、FIFO、ソケットの処理方法。 アクションは「読む」または「スキップ」です -r、--recursive は --directories=recurse と同様 -R, --dereference-recursive 同様に、すべてのシンボリックリンクをたどります --include=ファイルパターン FILE_PATTERNに一致するファイルのみを検索 --exclude=ファイルパターン FILE_PATTERNに一致するファイルとディレクトリをスキップする --exclude-from=FILE FILE内の任意のファイルパターンに一致するファイルをスキップする --exclude-dir=PATTERN に一致するディレクトリはスキップされます。 -L, --files-without-match 一致するものを含まないファイル名のみを出力します -l, --files-with-matches は一致するものを含むファイル名のみを出力します -c, --count ファイルごとに一致する行数のみを出力します -T, --initial-tab タブを揃える(必要な場合) -Z, --null ファイル名の後に0バイトを出力 コンテキスト制御: -B, --before-context=NUM 先頭のコンテキストの NUM 行を印刷します -A, --after-context=NUM 末尾のコンテキストのNUM行を印刷します -C, --context=NUM 出力コンテキストのNUM行を印刷します -NUM は --context=NUM と同じ --group-separator=SEP SEPをグループセパレーターとして使用します --no-group-separator グループ区切りとして空の文字列を使用する --color[=いつ], --colour[=WHEN] マーカーを使用して一致する文字列を強調表示します。 WHEN は「常に」、「決して」、「自動」のいずれかです -U, --binary は EOL で CR 文字を削除しません (MSDOS/Windows) -u, --unix-byte-offsets は CR が存在しないかのようにオフセットを報告します (MSDOS/Windows) 「egrep」は「grep -E」を意味します。「fgrep」は「grep -F」を意味します。 「egrep」または「fgrep」として直接呼び出すことは非推奨です。 FILEが-のときは標準入力を読み込む。FILEがない場合は、コマンドラインの場合は.を読み込む。 -r が指定されている場合は - 、そうでない場合は - です。2 つ未満の FILE が指定されている場合は -h であると想定します。 いずれかの行が選択された場合は終了ステータスは 0、それ以外の場合は 1 になります。 エラーが発生し、-q が指定されていない場合、終了ステータスは 2 になります。 バグ報告: [email protected] GNU Grep ホームページ: <http://www.gnu.org/software/grep/> GNU ソフトウェアの使用に関する一般的なヘルプ: http://www.gnu.org/gethelp/ 普段は簡単なデータ校正のためにユーザーデータをチェックするだけですが、最近突然バックグラウンドログの解析依頼を受け、grep が非常に便利だと知りました。 たとえば、バックグラウンド ログはかなり大きいです。サーバーから直接取得すると、時間がかかり、帯域幅を占有します。そのため、解決策としては、grep キーワードを直接使用して、14G から 12M に新しいファイルにリダイレクトし、データをクリーンアップして分析します。 2. 実践的な導入 2.1 grepコマンドを使用して複数のファイル内の複数のテキストを検索する 注: 拡張正規表現を使用するには、egrep コマンドを使用します。 1. 複数のファイル
2. 複数のテキスト、関係はOR
たとえば、次の例では、ファイル内のキーワード wordA または wordB を抽出します。 grep 'wordA\|wordB' *.py grep -E 'wordA|wordB' *.doc grep -e wordA -e wordB *.py egrep "単語A|単語B" *.c 3. 複数テキストの関係はANDです ここで直接使用できる [オプション] は表示されないため、パイプ記号 | のみを追加できます。 例えば: grep -e パターン1 *.py |grep -e パターン2 2.2 完全一致キーワード -w grep -w '警告\|エラー\|重大' /home/logs 2.3 大文字と小文字を無視するには -i パラメータを使用し、一致する結果を強調表示するには --color を使用します。 egrep -wi --color '警告|エラー|重大' /home/logs 2.4 再帰検索 egrep -Rwi --color '警告|エラー' /home/logs/ Linuxでよく使われるコマンドであるgrepコマンドの詳しい使い方については、これで終わりです。Linuxのgrepコマンドの詳しい説明に関する関連コンテンツについては、123WORDPRESS.COMの以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも123WORDPRESS.COMをよろしくお願いいたします。 以下もご興味があるかもしれません:
|
>>: シリアルポート使用時のvue-electronの問題解決
優先度両方のケースで同じ条件を設定すると、異なる結果セットが生成される可能性があるのは、優先順位のた...
今日のタスク1. Linuxディストリビューションの選択2.vmwareが仮想マシン(centos)...
方法1: SET PASSWORDコマンドを使用するまずMySQLにログインします。フォーマット: ...
エラーシナリオcmd の mysql コマンドを使用して、学生情報テーブルにデータを追加します。デー...
最終結果はこんな感じです、かわいいでしょう… PS: HTML と CSS の知識があればベストです...
目次序文一目でわかる建築オペレーティングシステムとの対話シングルスレッドイベント駆動/イベントループ...
目次モジュール化の基本概念モジュール化とは何かモジュール分解の利点Node.js のモジュール性No...
まず、マージン崩壊が発生する 3 つの状況を見てみましょう。 1. 隣接する 2 つのブロックレベル...
共通点: DIV タグと SPAN タグは、コンテンツ全体を非表示にしたり、コンテンツ全体を移動した...
目次1. リソースファイル2. インストール2.1 詳細な手順2.1.1 ディスクイメージのマウント...
JS でアニメーションを記述する場合、移動前に相対位置を絶対位置に変換してからアニメーション機能を実...
1. Get はサーバーからデータを取得するために使用され、Post はサーバーにデータを渡すために...
目次- 序文 - - JVM クラスローダー - 1. JVMクラスローダー2. クラスローダーのソ...
before/after 疑似クラスは、要素内に 2 つの追加タグを挿入するのと同じです。最も適した...
目次1. データベースの制約1.1 はじめに1.2 制約の種類1.3 ヌルでない1.4 ユニーク1....