ファイルにgrepコマンドを使用する方法

ファイルにgrepコマンドを使用する方法

複数の数値を含むテキストファイルがあります。以下はいくつかのサンプル番号です。

+-----------+
|NUMBER     |
+-----------+
| 75705310 |
| 75779034 |
| 75908237 |
| 75681768 |

リモートサーバー上の他のファイルからこの番号を取得する必要があります。出力は、数値と数を含む以下のようになります。

 1 75964761
 2 75964261

これは私の試みですが、結果は出ません。

grep -f /data/session_1.log log_20221001 | sort | uniq -c

ところで、以下のように使用すると結果が得られますが、session_1.logで完全なリストを確認する必要があります。

 grep -o '75964761' log_20221001 | sort | uniq -c
      1 75964761

誰でもこの問題を解決するのに役立ちます。

答え1

Pergrepのマニュアルページ

grep -f /data/session_1.log log_20221001

この署名を使用してください

grep [OPTION...] -f PATTERN_FILE ... [FILE...]

したがって、1行に1つずつgrepからパターンを取得します/data/session_1.log。ログなので、スキーマ以外のデータがあるとします。

代わりに、次のことを試してみてください(ユニークでないデータを取得するために最後の行を追加しました)。

$ cat file
+-----------+
|NUMBER     |
+-----------+
| 75705310 |
| 75779034 |
| 75908237 |
| 75681768 |
| 75681768 |
$ sort file | uniq -c
      2 +-----------+
      2 | 75681768 |
      1 | 75705310 |
      1 | 75779034 |
      1 | 75908237 |
      1 |NUMBER     |

関連情報