10

\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
4

5 に答える 5

10

sed を使用できます。つまり、

AFTER=`echo $ORIGINAL | sed 's/\\r//g'`
于 2011-10-17T22:48:57.260 に答える
4

もう 1 つのオプションは、'tr' を使用して文字を削除するか、\n などに置き換えることです。

 ORIGINAL=$(echo ${BASH_REMATCH[1]} | tr -d '\r')
于 2013-06-10T13:16:18.617 に答える
3

リテラル^M文字を使用するだけで、bash する意味はありません。

于 2011-10-17T22:48:02.803 に答える