我会尽量保持这个简单,因为我不熟悉grep / linux。
我有一个非常大的.txt文件(1.7GB),格式为:
username:email:IP
我有另一个较小的.txt文件(大约100k行文本),只包含:
username
我想创建一个输出列表,其中包含在大型和小型.txt文件中找到的用户名(不区分大小写)但我希望它们也具有在较大的文本文件中找到的电子邮件和IP。 / p>
所以我的最终输出将采用以下格式:
username:email:IP
但它只包含在.txt文件中找到的用户名
答案 0 :(得分:2)
您只需要-f
的{{1}}选项:
grep
如果您想使其不区分大小写,请使用grep -f smaller.txt large.txt
。请注意,这会使-i
方式更慢:
grep
小文件:
grep -if smaller.txt large.txt
大文件:
$ cat small
me
you
him
匹配
$ cat large
a1:aaa@bbb.com:123
me:me@bbb.com:123
a2:aaa@bbb.com:123
YOU:you@bbb.com:123
aaa:aaa@bbb.com:123