【问题标题】:Grep/Gawk - If Line contains add to found.txtGrep/Awk - 如果行包含添加到 found.txt
【发布时间】:2016-10-18 17:59:51
【问题描述】:

好的,基本上我有一个包含电子邮件的文件和另外 100 个包含 IP 电话电子邮件的文件

所以想知道是否可以检查包含 100 个 .txt 文件的文件夹中的行是否包含 email@email.com。

find.txt 示例,

   123@hotmail.com
   123456@hotmail.com
   yahoo@yahoo.com

等等..

100个txt文件的例子

   0.0.0.0       002921931      123@hotmail.com
   123.0.0.1 00029382    1235@hotmail.com

等等..

所以我想要的是如果 100txtfiles 行包含来自 find.txt 的电子邮件,然后输出到 found.txt

【问题讨论】:

  • 你试过什么?你想在找到的 .txt 中得到什么?整条线?

标签: awk grep gawk


【解决方案1】:

这条线应该适合你:

grep -Ff find.txt /dir/to/100.txt/*.txt > found.txt

如果你只想要文件名,添加-l选项:

grep -Flf find.txt .....

试一试。

【讨论】:

    【解决方案2】:

    在 awk 中:

    $ awk 'NR==FNR{a[$1];next} ($3 in a)' find.txt path_to_100_files/*
       0.0.0.0       002921931      123@hotmail.com
    

    最终,您希望在上述命令之后使用> found.txt 将输出重定向到found.txt。输出就是您的问题中没有包含预期输出的内容。

    【讨论】:

      猜你喜欢
      • 2012-03-24
      • 1970-01-01
      • 1970-01-01
      • 2017-11-15
      • 1970-01-01
      • 2022-06-28
      • 1970-01-01
      • 2012-10-06
      • 1970-01-01
      相关资源
      最近更新 更多