-3
echo '/foo/bar/test/' | sed -e "s/\//|/"
SED заменить (неправильно) остановились в первом матче
Ожидаемое: |foo|bar|test|
Actual: |foo/bar/test/
Что не так?
echo '/foo/bar/test/' | sed -e "s/\//|/"
SED заменить (неправильно) остановились в первом матче
Ожидаемое: |foo|bar|test|
Actual: |foo/bar/test/
Что не так?
Как замечают Хосе Рикардо Бустос М. и Патрик Трентин, sed
работает правильно. Команда s///
заменяет только первым совпадением, если только поведение не изменено с помощью флага. Для замены все совпадения, используйте s///g
. Для замены n
-го совпадения, например. третий матч, а не первый, используйте s///3
.
'echo '/ foo/bar/test /' | sed -e "s/\ // |/g" 'может быть –
try' echo '/ foo/bar/test /' | sed -e "s/\ // |/g" ' –