複数の数値を含むテキストファイルがあります。以下はいくつかのサンプル番号です。
+-----------+
|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 |