我有一个文本文件,里面有几个数字。以下是一些样本数字。
+-----------+
|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 |