6 linux bash fedora bash4 archlinux
我如何更换\ 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
Run Code Online (Sandbox Code Playgroud)
小智 9
这应该删除第一个\ r.
AFTER="${ORIGINAL/$'\r'/}"
Run Code Online (Sandbox Code Playgroud)
如果你需要删除所有这些,请使用$ {ORIGINAL // $'\ r'/}
你可以使用sed,即
AFTER=`echo $ORIGINAL | sed 's/\\r//g'`
Run Code Online (Sandbox Code Playgroud)
小智 5
另一种选择是使用 'tr' 删除该字符,或将其替换为 \n 或其他任何内容。
ORIGINAL=$(echo ${BASH_REMATCH[1]} | tr -d '\r')
Run Code Online (Sandbox Code Playgroud)