我正在尝试将文件 A 与模式文件 B 进行比较,并显示文件 A 中匹配的行。X
可以在文件 B 中替换为0
和1
。文件 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中与其中一个模式匹配的行。