Идентичный довольный поиск между файлами различных имен?

Я не знаю, возможно ли сравнить содержание текстовых файлов среди других файлов во второй папке. Мне нужна программа, чтобы только искать соответствующие строки и если она находит их, покажите обе строки файлов с соответствующей строкой.

Я попробовал разностью, но я не получаю результат, который я ожидаю.

Пример того, что я ищу:

Принятие у меня есть две папки и в каждом, является текстовыми файлами, которые я хочу сравнить.

Folder1/test.txt:

example1 - A
exampleA - A
example2 - B
exampleB - C
example3 - C
exampleC - D

Folder2/test_different_name.txt:

exampleA - A
example3 - B
exampleB - C
exampleC - D
example1 - E

Результатом должны быть соответствующие строки сравненных файлов:

Я добавил этот бит, поскольку форматирование не впишется в комментарий. Если это не желаемый результат, удалите его из вопроса! CharlesGreen

|==========================|
|String    |File 1 |File 2 |
|--------------------------|
|example1  |A      |E      |
|example3  |C      |B      |
|==========================|
Обратите внимание, что только совпавшие тексты печатаются и когда вся строка не соответствует, различия печатаются на экране.
0
задан 10 February 2019 в 11:10

1 ответ

Здесь можно сделать с awk как:

awk -F'-' 'NR == FNR { hold[$1]= $2; next } $2 != hold[$1] { print $1, hold[$1], $2 }' file1 file2
example3   C  B
example1   A  E

мы читаем file1 в awk связанный массив называют hold с ключом как первый столбец и значение из второго столбца, где столбцы, разграниченные дефисом, мы указали с awk -F'-' опция до Nумбра Records равен с File Nумбра Records - который это всегда верный для первого входного файла только, здесь file1.

затем проверьте column2 file2 против ключа с тем же первым столбцом, который мы сохранили в массиве, если они отличались во втором столбце, то мы распечатаем это.

2
ответ дан 26 October 2019 в 07:10

Другие вопросы по тегам:

Похожие вопросы: