我正在尝试将“6.1M”文本转换为“6.1 MB”。简单的 sed 命令对吧?
($SIZE 已设置为 610 万)
SIZE=`echo $SIZE|sed 's/M/ MB/'`
这只需在命令行上找到即可。但是,当我将其作为 bash 脚本的一部分执行时,我收到此错误:
sed: -e expression #1, char 10: unterminated `s' command
我尝试用反斜杠转义空格字符,但这没有帮助。我还尝试使用此语法,无论是否转义空格:
SIZE=$(sed 's/M/ MB/' <<< $SIZE)
同样的错误。这是怎么回事?
最佳答案
您运行的是哪个版本的 BASH?
bash --version
GNU bash, version 4.1.2(1)-release (x86_64-redhat-linux-gnu)
以上 BASH 适用于 SIZE=$(sed 's/M/ MB/' <<< ${SIZE});
关于regex - sed 命令适用于命令行,但不适用于 bash 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29240497/