Linux

如何在文件中使用 grep 命令

  • October 24, 2022

我有一個文本文件,裡面有幾個數字。以下是一些樣本編號。

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

我需要從遠端伺服器中的另一個文件中 grep 這些數字,輸出應如下所示,其中包含數字和計數,

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

有人可以幫我解決這個問題..

Pergrep的手冊頁

grep -f /data/session_1.log log_20221001

使用這個簽名

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

因此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     |

引用自:https://unix.stackexchange.com/questions/722165