使用AWK在兩個文件之間進行部分字符串搜索

我一直在嘗試使用awk re-write一個egrep命令來提高性能,但沒有成功。egrep命令對file1中的記錄和file2中的記錄(部分匹配)執行不區分大小寫的簡單搜索。下面是命令和示例輸出。

file1 contains:

Abc
xyz
123
blah
hh
a,b

file2 contains:

abc de
xyz
123
456
blah
test1
abdc
abc,def,123
kite
a,b,c

原始命令:egrep -i -f file1 file2

原始(egrep)命令輸出:

$ egrep -i -f file1 file2
abc de
xyz
123
blah
abc,def,123
a,b,c

我想使用AWK重寫命令以執行相同的操作。我已經嘗試了下面的方法,但它正在進行一場完整的記錄比賽,而不是像grep那樣的部分比賽。

awk中修改的命令:awk 'NR==FNR{a[tolower($0)];next} tolower($0) in a' file1 file2

修改的命令(awk)輸出:

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

這不包括與字符串“abc”部分匹配的記錄。請幫我修改awk命令好嗎?提前謝謝。

? 最佳回答:

像這樣使用index進行部分文字匹配:

awk '
NR == FNR {
  needles[tolower($0)]
  next
}
{
  haystack = tolower($0)
  for (needle in needles) {
    if (index(haystack, needle)) {
      print
      break
    }
  }
}' file1 file2
主站蜘蛛池模板: 一区二区免费视频| 亚洲一区二区三区高清不卡| 久久久久人妻精品一区蜜桃| 中文精品一区二区三区四区| 国产精品免费大片一区二区| 日韩精品人妻一区二区三区四区 | 亚洲一区二区观看播放| 国产中的精品一区的| 精品无人区一区二区三区 | 亚洲无码一区二区三区| 久久久一区二区三区| 国产精品女同一区二区| 99久久精品国产免看国产一区| 日本一区高清视频| 国产精品一区二区久久精品涩爱| 一本岛一区在线观看不卡| 亚洲国产成人精品无码一区二区| 国产91大片精品一区在线观看 | 亚洲第一区在线观看| 日韩精品一区在线| 国产日韩综合一区二区性色AV| 中文字幕无线码一区2020青青| 久久精品午夜一区二区福利| 少妇精品久久久一区二区三区| 久久国产一区二区| 文中字幕一区二区三区视频播放 | 精品欧洲AV无码一区二区男男| 亚洲国产精品一区二区久久hs| 亚洲一区二区在线视频| 91精品一区二区三区久久久久| 射精专区一区二区朝鲜| 极品尤物一区二区三区| 亚洲一区日韩高清中文字幕亚洲| 狠狠做深爱婷婷综合一区| 国产精品乱码一区二区三| 国产精品伦一区二区三级视频| 久久久无码精品国产一区| 亚洲综合一区二区精品导航| 精品国产一区二区三区无码| 久久久久久人妻一区二区三区| 国产在线一区二区杨幂|