Я пока не могу добавлять сюда комментарии, поэтому вот мое awk
решение из здесь , которое я протестировал на основе вашего примера ввода и вывода:
cat file1 file2 | awk '
BEGIN { OFS = " " }
{ rows[$1 OFS $2] = $3 }
END { for (r in rows) print(r, rows[r]) }
' | sort -V >file3
Пробовали ли вы этот или другие опубликованные ответы? Если да, то какие результаты вы не ожидали? Это может помочь предоставить дополнительную информацию о формате файла данных, если ответы не работают.
Используя sed
, перенесите каждую последовательность не -пустых символов:
$ sed -E "s/[^[:blank:]]+/'&'/g" VP.log
'E1' '/opt/app/db/ggs/12.1.2.1.10/dirdat/fo' 'DF' 'abc-ctr-vip.ksc2.cci.com'