URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 9782
[ Назад ]

Исходное сообщение
"sed/awk и замена строк в 1 файле"

Отправлено chinarulezzz , 19-Ноя-13 23:37 
Доброго времени суток. Прошу помощи в нелёгком для меня деле.
Есть два файла, примерно таких:

файл1
--------------
поле1: тут разные данные
поле2: тут тоже
поле3: и тут
поле4: цифра 5

поле1: продолжение
поле2: также
поле3: тоже но всё разное
поле4: цифра 8

поле1: и еще
поле2: и так далее
поле3: аналогично
поле4: цифра 255
---------------

файл2 такой:
---------------
цифра 5 должна продолжаться и быть такой вот!
цифра 255 должна быть примерно иной.
цифра 8 тоже должна отличаться.
---------------

Теперь самое главное, как сделать что на выходе получился такой файл:
Итоговый файл.
---------------
поле1: тут разные данные
поле2: тут тоже
поле3: и тут
поле4: цифра 5 должна продолжаться и быть такой вот!

поле1: продолжение
поле2: также
поле3: тоже но всё разное
поле4: цифра 8 тоже должна отличаться.

поле1: и еще
поле2: и так далее
поле3: аналогично
поле4: цифра 255 должна быть примерно иной.
----------------
EOF

Спасибо за любую помощь.


Содержание

Сообщения в этом обсуждении
"sed/awk и замена строк в 1 файле"
Отправлено Andrey Mitrofanov , 20-Ноя-13 12:03 
>[оверквотинг удален]
> поле2: и так далее
> поле3: аналогично
> поле4: цифра 255
> ---------------
> файл2 такой:
> ---------------
> цифра 5 должна продолжаться и быть такой вот!
> цифра 255 должна быть примерно иной.
> цифра 8 тоже должна отличаться.
> ---------------

Ну, если  поменять формат файла2 вот так:

цифра 5: должна продолжаться и быть такой вот!

, то прмерно так

gawk 'BEGIN{FS=OFS=":"}FNR==1{rr[$1]==$0}FNR==2{if($2 in rr)$2=rr[$2];print}' файл2 файл1