Как найти разницу и разницу между двумя последовательными строками файла фиксированной ширины?найти, если две последовательные линии различны и где
пример файла:
cat test.txt
1111111111111111122211111111111111
1111111111111111132211111111111111
выход:
он должен сообщить пользователю, что существует различие между двумя линиями и положением разности по адресу:. 18 символа (как в приведенном выше примере)
Было бы очень полезно, если бы он мог перечислить все позиции в случае нескольких вариантов. Например:
11111111111111111211113111
11111111111111111211114111
Здесь следует сказать: разница пятнистая в 18-м и 26-м символах.
Я пробовал вещи в следующих строках, но кажется потерянным.
while read line
do
echo $line |sed 's/./ &/g' |xargs -n1 #NOt able to apply diff (stupid try)
done <test.txt
спасибо, я изменил ваш сценарий в соответствии с моей потребностью (чтобы распечатать точную разницу). Работать хорошо! –
вы можете заменить 'for (i = 1; i <= NF; i ++) a [i] = $ i' с' split ($ 0, a) ' – karakfa
Спасибо @karakfa, очень хорошая идея. Сохраняет цикл, (отредактирован) – anubhava