grepまたは他の検索ユーティリティを使用して、1行に連続する2つの単語を持つ2つのインスタンスを最適に検索する方法

grepまたは他の検索ユーティリティを使用して、1行に連続する2つの単語を持つ2つのインスタンスを最適に検索する方法

1行に2つの連続した単語を含むログファイルがあります。

例:

Process ID: 1034 Worker Process 4

「検索したいです。プロセス番号「そして」ワーカープロセス「同じ上記と。

別の言葉」プロセス「または」ID「または」労働者ログは私が探したくない別の単語として現れるかもしれません。

"grep構文にタグを使用できますか?

この問題を最もよく解決する方法がわかりません。グーグルをたくさんしました。

助けてくれてありがとう。

答え1

"はい、grepモードで使用できます。特に使用できます

grep 'Process ID.*Worker Process' yourfile

任意のテキストで区切られた1行に表示される2つの参照に一致するパターン。

バラよりgrepと論理演算子追加の議論と代替ソリューションをご覧ください。

答え2

私が正しく理解したなら、これを行うと効果があるようです。

cd your_dir

grep -Ron "Process ID: [0-9]* Worker Process [0-9]*"

ファイルのあるディレクトリを入力してください。

cd your_dir

-Rディレクトリで繰り返し検索し、o必要な行だけを検索すると、n行番号が提供されます。


パターンマッチProcess ID: [0-9]* Worker Process [0-9]*


内容を含むファイルが提供されます。

Process

Process ID: 1034 Worker Process 4

ID

Worker

出力:

a.txt:3:Process ID: 1034 Worker Process 4
c.txt:7:Process ID: 1034 Worker Process 4
b.txt:7:Process ID: 1034 Worker Process 4

関連情報