Załóżmy, że mam ciąg „abbc” i chcę zastąpić:
- ab -> bc
- bc -> ab
Jeśli spróbuję dwóch zamień, wynik nie jest tym, czego chcę:
echo 'abbc' | sed 's/ab/bc/g;s/bc/ab/g'
abab
Więc jakiej komendy sed mogę użyć do zamiany, jak poniżej?
echo abbc | sed SED_COMMAND
bcab
EDYCJA : W rzeczywistości tekst może mieć więcej niż 2 wzory i nie wiem, ile będzie potrzebnych zamienników. Ponieważ pojawiła się odpowiedź mówiąca, że sed
jest to edytor strumieniowy, a jego zamienniki są zachłannie, myślę, że będę musiał do tego użyć jakiegoś języka skryptowego.
ab
lub dla bc
niego
g
flagę z obu tychs///
poleceń i to zadziała.