В настоящее время я использую сценарий awk для сравнения 2 файлов со случайными числами в непоследовательном порядке. Он отлично работает, но есть только одно условие, которое я хотел бы выполнить в будущем.
Текущая функция awk
awk '
{
$0=$0+0
}
FNR==NR{
a[$0]
next
}
($0 in a){
b[$0]
next
}
{ print }
END{
for(j in a){
if(!(j in b)){ print j }
}
}
' compare1.txt compare2.txt
Что функция выполняет в настоящее время?
Выводит список всех чисел, которые присутствуют в compare1, но не в compare 2, и наоборот
Если какое-либо число имеет ноль в своем префиксе, игнорируйте нули при сравнении ( в основном абсолютное значение числа должно отличаться, чтобы его можно было рассматривать как несоответствие) Пример - 3 следует считать совпадающим с 003, а 014 следует считать совпадающим с 14, 008 с 8 и т. д. c
При необходимости. Также учитывается число совпадающих, даже если они не обязательно находятся в одной строке в обоих файлах.
Требуется дополнительное условие
В своей текущей форме эта функция работает таким образом, что если файл имеет несколько экземпляров числа, а другой файл имеет хотя бы одно появление того же числа, это считается Число совпадений для обоих повторов. Мне нужно, чтобы функция awk была отредактирована для вывода любого дополнительного вхождения числа
cat compare1.txt
57
11
13
3
889
014
91
775
cat compare2.txt
003
889
13
14
57
12
90
775
775
Ожидаемый результат
12
90
11
91
**775**
Число, отмеченное здесь в конце, в настоящее время не отображается в выводе моей текущей функции awk (2 случая - 1 случай)