В Bash, как мне заменить r из переменной, которая существует в файле, написанном с использованием html

StackOverflow https://stackoverflow.com/questions/7800482

Вопрос

Как заменить 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'}"
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top