У меня есть переменная var = "abcde $$$$$$$$ fff $$ gg".Я хочу заменить все $ пробелом '', но следующий код ставит только один пробел
var=$( echo "$var" | tr '$' ' ')
Как я могу заменить их все?
вы можете заменить без вызова внешних команд (используя bash)
$ var='abcde$$$$$$$$fff$$gg' $ echo "${var//$/ }" abcde fff gg
Обратите внимание, что вы должны использовать одинарные кавычки, чтобы знак "$" не интерполировался
У меня работает. Вам нужно будет использовать одинарные кавычки или экранировать знаки доллара, иначе они будут удалены из строки в двойных кавычках:
echo 'abcde$$$$$$$$fff$$gg' | tr '$' ' ' abcde fff gg echo "abcde\$\$\$\$\$\$\$\$fff\$\$gg" | tr '$' ' ' abcde fff gg echo abcde\$\$\$\$\$\$\$\$fff\$\$gg | tr '$' ' ' abcde fff gg echo $'abcde$$$$$$$$fff$$gg' | tr '$' ' ' abcde fff gg
Старый вопрос, но я пишу это для них. Hwo приедет сюда после поиска в их неисправной поисковой системе.