Can I use sed to manipulate a variable in bash?
Try this:
website=$(sed 's|/|\\/|g' <<< $website)
Bash actually supports this sort of replacement natively:
${parameter/pattern/string}
— replace the first match of pattern
with string
.${parameter//pattern/string}
— replace all matches of pattern
with string
.
Therefore you can do:
website=${website////\\/}
Explanation:
website=${website // / / \\/} ^ ^ ^ ^ | | | | | | | string, '\' needs to be backslashed | | delimiter | pattern replace globally
You can also use Parameter-Expansion to replace sub-strings in variable.For example:
website="https://stackoverflow.com/a/58899829/658497"echo "${website//\//\\/}"
https:\/\/stackoverflow.com\/a\/58899829\/658497