У меня есть документ, в котором поля разделены двоеточием (:), где мне нужно время от времени менять второе поле. Документ выглядит так:
name1:UhX.PPFW7$YhPMH0BISY:23490::::::
name2:1./0oV$GEs6WJpE$LHXhy:19239:0:29388:2::29302:
...
Второе поле файла будет время от времени изменяться и может содержать пару символов регулярного выражения ($ .) и косую черту.
Я хотел бы заменить только второе поле, так как данные, которые следуют за ним, могут быть другими в будущем. Если я сделаю:
sed -e "s~^name2:.*:~name2:aTest\$repl.ace:~g" tst
Текст справа от второго столбца теряется:
name2:aTest$repl.ace:
(например, «19239:0:29388:2::29302:»). Есть ли способ, которым sed может заменить меняющийся столбец и сохранить остальную часть строки? Или, возможно, есть лучшая программа для этого?