awk :: 使用不区分大小写在 2 个文件中查找常用词

问题描述

我有两个名为 <html> <div class="card"> <div class="icon"> <img src="https://pbs.twimg.com/profile_images/808180587605331969/u-CULTwl_400x400.jpg" id="favicon"></div><div class="header"> <div class="image"> <img src="http://hypixel.net/proxy.PHP?image=https%3A%2F%2Fi.imgur.com%2FjkFk4TU.png&hash=ec5b70a2ba4c4f79b5031ac356695a13" alt="" /> </div> <h2>hypixel.net</h2><!-- put server name here !--> </div> <div id="rest">Loading ...</div> </div> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> </html>1.txt文件

2.txt中,我们可以找到这些词:

1.txt

apple orange butter flower 中,我们可以找到这些词:

2.txt

我可以使用命令

dog cat Butter tower

查找两个文件中的公共行,但未返回单词 awk 'NR==FNR{a[$0];next} ($0 in a)' 1.txt 2.txtButter,因为它在两个文件之一中有大写字母。

如何返回 butterbutter

我只想找到共同点。

解决方法

使用 grep 更容易

$ grep -iwFf file1 file2
Butter

或使用 awk

$ awk 'NR==FNR{a[tolower($0)]; next} tolower($0) in a' file1 file2
Butter