我在用
grep -o <string> <filename> | wc -l
计算文件中出现的次数<string>
。我现在需要扩展它,使字符串来自另一个文件中的项目列表。
目标是统计主文件中“字符串”文件每一行的出现次数。字符串文件将是 VLAN 列表,主文件将是大型 LAN 交换机的 MAC 地址列表的输出。
字符串文件的格式为...
100 101 103 110 230
(请注意,数字前后都有空格,以覆盖与较大数字匹配且可在其他数据中找到的字符串(见下文)。
正在检查的文件包含以下格式的行......
6c4b-904b-0c5c 230 Learned BAGG103 Y
我最终希望...
- 计算第二个文件中第一个文件中字符串出现的次数,预计与第二列匹配
- 突出显示任何与列出的字符串不匹配的情况
编辑-我想我已经回答了第一个问题,但无法涵盖列出未找到的 VLAN。
答案1
您所要求的命令很简单:
grep -c -o -f strings_file input_file
该-f
选项将从字符串文件,每行一个。
该-c
选项将返回匹配的数量,从而消除的使用| wc -l
。