匹配另一个文件中的至少两个模式

恩里克·S

查找一个字符串匹配的基本代码

cat fileA | grep -Fwf include.txt

我们如何使用代码来匹配include.list中的至少两个模式

file A 
data1 khc001 khc002 vp005
data1 fbc001 cs004 khc001

include.txt
khc001
khc002

正确的输出线1: data1 khc001 khc002 vp005

在下面的示例中,例如,仅列出了2种模式,但是列表中包含的内容更多,这就是为什么awk '/pattern1/ && /pattern2/'不合适的原因。

库萨兰达

使用,这很容易做到awk,计算每行中fileA等于include.txt文件中字符串的字段数

awk 'NR == FNR { p[$1]; next }
     {
         c = 0
         for (i = 1; i <= NF; ++i) if ($i in p) c++
         if ( c >= 2 ) print
     }' include.txt fileA

这首先读取include.txt文件,并将单词用作关联数组中的键。然后,它读取第二个文件,并针对每一行,遍历字段并测试每个文件,以查看其是否与任何键匹配。

对于每个匹配项,我们增加一个计数器,如果计数器末尾等于或大于2,则打印该行。


针对喜欢“单线”的人的代码的替代表达:

awk 'NR==FNR {p[$1];next} {c=0;for (i=1;i<=NF;++i) if ($i in p) c++} c>=2' include.txt fileA

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将文件内容插入到两个匹配行之间的另一个文件中?

来自分类Dev

mySQL:模式匹配“一个条件或另一个条件,但不是两个条件”

来自分类Dev

mySQL:模式匹配“一个条件或另一个条件,但不是两个条件”

来自分类Dev

子数据匹配另一个数据帧中的两个变量

来自分类Dev

MySQL选择行与另一个表中的两个匹配的联接行

来自分类Dev

将表中的两个ID匹配到另一个表PgSQL

来自分类Dev

根据两个文件中第一列的匹配值将文件中的一列连接到另一个文件

来自分类Dev

从另一个文件中删除与模式匹配的文件中的值

来自分类Dev

循环使用sed。用一个文件中的文本替换另一个文件中的匹配模式

来自分类Dev

将一个文件中的“模式”与另一个文件中的标头名称匹配(R,Unix)

来自分类Dev

在另一个文件中匹配模式后,从文件内联插入文本

来自分类Dev

从另一个文件中删除与特定模式匹配的行

来自分类Dev

从另一个文件中删除与特定模式匹配的行

来自分类Dev

按顺序用另一个文件中的行替换与模式匹配的行

来自分类Dev

如何在与命令行中另一个模式匹配的目录中“查找”文件匹配模式?

来自分类Dev

读取两个匹配单词之间的文本,进行比较并写入另一个文件

来自分类Dev

动态查找两个表之间的匹配;一个包含文本,另一个包含搜索模式

来自分类Dev

抓住一个或两个单词如果在模式后大写,并将结果与另一个列表匹配

来自分类Dev

xcopy-复制至少一个与模式匹配的文件

来自分类Dev

从另一个列出的文件中查找模式

来自分类Dev

将表中的两个值匹配到表sql中的另一个值

来自分类Dev

将表中的两个值与表sql中的另一个值进行匹配

来自分类Dev

如何匹配两个表并将其插入到laravel 5.4中的另一个表中?

来自分类Dev

从一个文件到另一个文件,在两个匹配项之间替换文本

来自分类Dev

当两个值不匹配时从另一个表中获取数据并替换现有值

来自分类Dev

我如何要求一个正则表达式内至少匹配两个超前模式?

来自分类Dev

从另一个文件中的一个文件中搜索模式,并将匹配后的行写入第三个文件

来自分类Dev

查找组中至少一个元素是否匹配至少一个模式

来自分类Dev

如何比较两个不同的csv文件中的列并替换另一个文件中的列

Related 相关文章

  1. 1

    如何将文件内容插入到两个匹配行之间的另一个文件中?

  2. 2

    mySQL:模式匹配“一个条件或另一个条件,但不是两个条件”

  3. 3

    mySQL:模式匹配“一个条件或另一个条件,但不是两个条件”

  4. 4

    子数据匹配另一个数据帧中的两个变量

  5. 5

    MySQL选择行与另一个表中的两个匹配的联接行

  6. 6

    将表中的两个ID匹配到另一个表PgSQL

  7. 7

    根据两个文件中第一列的匹配值将文件中的一列连接到另一个文件

  8. 8

    从另一个文件中删除与模式匹配的文件中的值

  9. 9

    循环使用sed。用一个文件中的文本替换另一个文件中的匹配模式

  10. 10

    将一个文件中的“模式”与另一个文件中的标头名称匹配(R,Unix)

  11. 11

    在另一个文件中匹配模式后,从文件内联插入文本

  12. 12

    从另一个文件中删除与特定模式匹配的行

  13. 13

    从另一个文件中删除与特定模式匹配的行

  14. 14

    按顺序用另一个文件中的行替换与模式匹配的行

  15. 15

    如何在与命令行中另一个模式匹配的目录中“查找”文件匹配模式?

  16. 16

    读取两个匹配单词之间的文本,进行比较并写入另一个文件

  17. 17

    动态查找两个表之间的匹配;一个包含文本,另一个包含搜索模式

  18. 18

    抓住一个或两个单词如果在模式后大写,并将结果与另一个列表匹配

  19. 19

    xcopy-复制至少一个与模式匹配的文件

  20. 20

    从另一个列出的文件中查找模式

  21. 21

    将表中的两个值匹配到表sql中的另一个值

  22. 22

    将表中的两个值与表sql中的另一个值进行匹配

  23. 23

    如何匹配两个表并将其插入到laravel 5.4中的另一个表中?

  24. 24

    从一个文件到另一个文件,在两个匹配项之间替换文本

  25. 25

    当两个值不匹配时从另一个表中获取数据并替换现有值

  26. 26

    我如何要求一个正则表达式内至少匹配两个超前模式?

  27. 27

    从另一个文件中的一个文件中搜索模式,并将匹配后的行写入第三个文件

  28. 28

    查找组中至少一个元素是否匹配至少一个模式

  29. 29

    如何比较两个不同的csv文件中的列并替换另一个文件中的列

热门标签

归档