В Bash, как мне заменить r из переменной, которая существует в файле, написанном с использованием html
Вопрос
Как заменить r?
#!/bin/bash
...
# setup
if [[ $i =~ $screen ]]; then
ORIGINAL=${BASH_REMATCH[1]} # original value is: 3DROTATE\r
AFTER =${ORIGINAL/\\r/} # does not replace \r
myThirdPartyApplication -o $replvar # FAILS because of \r
fi
Решение
Вы могли бы использовать SED, т.е.
AFTER=`echo $ORIGINAL | sed 's/\\r//g'`
Другие советы
Это должно удалить первый r.
AFTER="${ORIGINAL/$'\r'/}"
Если вам нужно удалить их все, используйте $ {Original // $ ' r'/}
Просто используйте буквальный ^M
Персонаж, он не имеет значения для избиения.
Другой вариант - использовать «tr», чтобы удалить символ или заменить его на n или чем -то еще.
ORIGINAL=$(echo ${BASH_REMATCH[1]} | tr -d '\r')
Подобно подходу @Tharrrk, эта замена параметров также удаляет последний ' r':
AFTER="${ORIGINAL%'\r'}"
Не связан с StackOverflow