Сравните два файла в Linux

0

Я пытаюсь сравнить файл A с файлом шаблона B и показать, что совпадающие строки файла A. Xмогут быть заменены на 0и 1в файле B. Файл A не содержит никаких забот. Файл B - это большой файл.

Например:

Файл А:

010101

011111

000000

111111

Файл Б:

X11XX1

01010X

000000

Может кто-нибудь мне помочь?

Farshad
источник
1
Я не очень понимаю, чего ты хочешь достичь. Если бы вы сравнили файлы A и B в том виде, в котором они написаны, что бы получилось в результате сравнения?
Canaryyellow

Ответы:

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, которые соответствуют одному из этих шаблонов.

John1024
источник