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の問題解決
目次スロットとは何かデフォルトスロットの理解コードスニペット要約するスロットとは何かスロットは、親コ...
この記事は主に、MySQL インデックスの長さ制限の原理の分析を紹介します。サンプル コードを通じて...
httpsを取得する方法を勉強しています。最近、Tencent Cloud が提供する無料の SSL...
ウェブサイト管理者は、さまざまな理由や操作により、ウェブサイトのデータを誤って削除したり、ウェブサイ...
1. データベースデータをシミュレートする1-1 データベースとテーブルスクリプトを作成する - v...
https://docs.microsoft.com/ja-jp/windows/wsl/wsl-...
序文トランザクション データ ディクショナリとアトミック DDL は、MySQL 8.0 で導入され...
第二に、キーワードのランキングは、Webページの表示速度にも関係しています(参照:キーワードランキン...
コードをコピーコードは次のとおりです。 <スタイル> .fileInputContain...
最近では、ソフトウェアやウェブサイトのいずれの作業であっても、設計時に「ユーザー エクスペリエンス」...
Debian の紹介Debian は、広い意味では、フリーなオペレーティング システムの作成に専念...
商用データベースの場合、データベースのアップグレードは優先度が高く、バージョンアップのロードマップ、...
この記事では、例を使用して、MySQL のデータベース間トランザクション XA 操作について説明しま...
この記事では、サイコロゲームを実装するためのWeChatアプレットの具体的なコードを参考までに共有し...
こんなことがありました。今日はGitHubで遊んでいました。最初はログインせずにいくつかのページを閲...