我有两个文件。文件1和文件2 现在我需要grep所有与文件2中的文件1匹配的模式,这可以通过grep -f来完成。
但我需要知道使用awk或sed在file2中发生文件1的每个模式的次数
例如;
flie 1
ABC 高清 GHI JKL MNO PQR STU WXY
文件2;
感谢您关注 abc 我们的搜索和
广告服务(“服务 def ")!
使用我们的服务即表示您同意这些 abc
条款(“AdSense条款”),AdSense计划政策和 stu Google
品牌推广指南(统称为“协议”) abc
如果发生冲突,就此类冲突而言, def AdSense条款
将优先于协议的任何其他条款 请仔细阅读本协议。 如协议中所使用的,“您”或“出版商”是指 使用服务的个人或实体(和/或任何 个人,实体或继承实体,代理或 代表您行事的网络),“我们”,“我们”或“Google” 意味着谷歌公司,“派对”意味着你和谷歌。
现在代码应该返回
abc发现了3次 def发现2次 stu发现了一次
grep -f file1 file2为我们提供了匹配的总模式 grep -f file1 file2 | wc -l给出了匹配的总数..
答案 0 :(得分:0)
awk 'FNR==NR{pattern[ $0]=0};FNR!=NR && ($0 in pattern) {pattern[ $0]++};END{for( pat in pattern) if(pattern[pat]>0) print pattern[pat] ":" pat }' file1 file2
假设pattern是两个文件中的整个字符串。