如何在文件中使用 grep 命令

如何在文件中使用 grep 命令

我有一个文本文件,里面有几个数字。以下是一些样本数字。

+-----------+
|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

有人可以帮我解决这个问题吗..

答案1

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     |

相关内容