我试图转换说出" 6.1M"到" 6.1 MB"。简单的sed命令吧?
($ SIZE已经达到6.1M)
SIZE=`echo $SIZE|sed 's/M/ MB/'`
这可以在命令行中找到。但是,当我作为bash脚本的一部分执行时,我收到此错误:
sed: -e expression #1, char 10: unterminated `s' command
我试图用反斜杠逃避空间角色,但这并没有帮助。我也试过使用这种语法,无论有没有转义空间:
SIZE=$(sed 's/M/ MB/' <<< $SIZE)
同样的错误。这里发生了什么?
答案 0 :(得分:0)
您正在运行什么版本的BASH?
bash --version
GNU bash, version 4.1.2(1)-release (x86_64-redhat-linux-gnu)
以上BASH适用于SIZE=$(sed 's/M/ MB/' <<< ${SIZE});
答案 1 :(得分:0)
原来这条线还可以。但是,我在后来的sed命令中使用了SIZE变量,问题出在那里。该命令周围没有单引号,因此变量中的空格字符导致错误。
感谢大家的回复!