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


0

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

Например:

Файл А:

010101

011111

000000

111111

Файл Б:

X11XX1

01010X

000000

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


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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.