У меня есть строка, которая может содержать несколько пробелов (и табуляции), а также заканчиваться пробелами (но никогда не будет начинаться с пробелов).
Что-то вроде: "topo pippo pluto "
Iнеобходимо удалить пробелы в конце и заменить оставшуюся последовательность пробелов ~
. В предыдущем примере я получил бы "topo~pippo~pluto"
.
В настоящее время я делаю это с:
mystring=$(echo "$mystring" | sed -e 's/\s\s*/~/g' -e 's/~~*$//' )
, но я действительно хотел бы найти более быстрый путь (возможно, не имеявызывать внешние команды). Я хотел бы быть независимым от оболочки, но решение для bash тоже подойдет (мне придется использовать bash по другим причинам).
Я пробовал с различными вариантами bash ${}
, ноЯ не мог найти решение.
Есть предложения о том, где искать?