Я пытаюсь выполнить сценарий автоматического ввода файла, который выглядит следующим образом
*CONTACT_FORMING_ONE_WAY_SURFACE_TO_SURFACE
$# cid title
$# ssid msid sstyp mstyp sboxid mboxid spr mpr
1 2 3 3 0 0 0 0
$# fs fd dc vc vdc penchk bt dt
0.0100 0.000 0.000 0.000 0.000 0 0.000 1.0000E+7
$# sfs sfm sst mst sfst sfmt fsf vsf
1.000000 1.000000 0.000 0.000 1.000000 1.000000 1.000000 1.000000
*CONTACT_FORMING_ONE_WAY_SURFACE_TO_SURFACE
$# cid title
$# ssid msid sstyp mstyp sboxid mboxid spr mpr
1 3 3 3 0 0 0 0
$# fs fd dc vc vdc penchk bt dt
0.0100 0.000 0.000 0.000 0.000 0 0.000 1.0000E+7
$# sfs sfm sst mst sfst sfmt fsf vsf
1.000000 1.000000 0.000 0.000 1.000000 1.000000 1.000000 1.000000
Я хочу изменить пятую строку после строки
*CONTACT_FORMING_ONE_WAY_SURFACE_TO_SURFACE
со строкой из другого файла frictionValues.txt
То, что я использую, выглядит следующим образом
sed -i -e '/^\*CONTACT_FORMING_ONE_WAY_SURFACE_TO_SURFACE/{n;n;n;n;n;R frictionValues.txt' -e 'd}' input.txt
, но это изменяет все 5 строк после строки, но 2 раза считывает значения из файла frictionValues.txt. Я хочу, чтобы он читал только первую строку, а затем копировал ее во всех случаях, когда он находит строку. Кто-нибудь может сказать мне, используя sed с редактированием на месте, как этот?