Предположим, что у меня строка abbc, и я хочу заменить:
- ab → bc
- bc → ab
Если я попробую заменить два, результат не то, что я хочу:
echo 'abbc' | sed 's/ab/bc/g;s/bc/ab/g'
abab
Итак, какую команду семени можно использовать для замены, как показано ниже?
echo abbc | sed SED_COMMAND
bcab
ИЗМЕНИТЬ:
На самом деле текст может содержать более двух шаблонов, и я не знаю, сколько замен будет мне нужно. Поскольку был ответ, говорящий, что sed
является редактором потока, и его замены жадно, я думаю, что мне нужно будет использовать для этого какой-то язык script.