Я использую эту команду, но это не работает объявление предназначено:Sed, кажется, заменить только последнее вхождение в глобальной подстановки строк
echo "0+223+141+800+450+1*(106+400)+1*(1822+500)+1*(183+400)" | sed 's/\*\(.*\)+/*\1suma/g'
Это ожидаемый результат:
0+223+141+800+450+1*(106suma400)+1*(1822suma500)+1*(183suma400)
, но это что я получаю:
0+223+141+800+450+1*(106+400)+1*(1822+500)+1*(183suma400)
Похоже, что заменяется только последнее происшествие, несмотря на использование g
.
Название говорит «awk», но вопрос и тег о sed. Кроме того, «не работает» не помогает - что именно происходит? Какой у вас результат? –
0 + 223 + 141 + 800 + 450 + 1 * (106 + 400) + 1 * (1822 + 500) + 1 * (183suma400) – victorhernandezzero
только изменить последнюю часть – victorhernandezzero