在 Linux 中比较两个文件

在 Linux 中比较两个文件

我正在尝试将文件 A 与模式文件 B 进行比较,并显示文件 A 中匹配的行。X可以在文件 B 中替换为01。文件 A 不包含任何无关内容。文件 B 是一个大文件。

例如:

文件 A:

010101

011111

000000

111111

文件 B:

X11XX1

01010X

000000

谁能帮我?

答案1

要在文件 A 中查找与文件 B 中的任意模式匹配的行(其中 X 被解释为通配符):

$ grep -f <(tr X . <fileB) fileA
010101
011111
000000
111111

<(tr X . <fileB)创建一个类似文件的对象,其中所有 都替换X.。在正则表达式中,.是通配符。

grep -f <(tr X . <fileB) fileA从我们的类文件对象中读取模式,并且只打印文件A中与其中一个模式匹配的行。

相关内容