Как убрать из строки подряд идущие повторы символа | - вертикальная черта
На входе строка:
"J3E||F3E|R3E|||H3E"
На на выходе без повторов символа "|":
"J3E|F3E|R3E|H3E"
В принципе вот так работает:
echo "J3E||F3E|R3E|||H3E" | sed 's/[\|][\|]*/|/g'
Но, если я хочу заменить Только от трех и более подряд идущих символов "|||...", например так:
echo "J3E||F3E|R3E|||H3E" | sed 's/[\|]{3,}/|/g'
Ничего не получается. Как правильно использовать квантификаторы "фигурные скобки" для данной задачи?
Источник: Stack Overflow на русском