Nat*_*tha 2 linux grep centos matching
我会尽量保持简单,因为我对 grep/linux 没有那么丰富的经验。
我有一个非常大的 .txt 文件(1.7GB),格式如下:
username:email:IP
Run Code Online (Sandbox Code Playgroud)
我有另一个较小的 .txt 文件(大约 10 万行文本),其中仅包含:
username
Run Code Online (Sandbox Code Playgroud)
我想制作一个输出列表,其中包含在大型和小型 .txt 文件中找到的用户名(不区分大小写),但我希望它们也具有在较大文本文件中找到的电子邮件和 IP。
所以我的最终输出将采用以下格式:
username:email:IP
Run Code Online (Sandbox Code Playgroud)
但它只会包含在两个 .txt 文件中找到的用户名
您只需要以下-f
选项grep
:
grep -f smaller.txt large.txt
Run Code Online (Sandbox Code Playgroud)
如果您想让它不区分大小写,请使用-i
. 请注意,这会使grep
速度变慢:
grep -if smaller.txt large.txt
Run Code Online (Sandbox Code Playgroud)
小文件:
$ cat small
me
you
him
Run Code Online (Sandbox Code Playgroud)
大文件:
$ 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
Run Code Online (Sandbox Code Playgroud)
火柴:
$ grep -if small large
me:me@bbb.com:123
YOU:you@bbb.com:123
Run Code Online (Sandbox Code Playgroud)