Sed 错误"command a expects followed by text"



这是我的脚本:

openscad $1 -D generate=1 -o $1.csg 2>&1 >/dev/null |
sed 's/ECHO: "[LC] //' |
sed 's/"$//' |
sed '$a;' >./2d_$1

该输出:

sed: 1: "$a;": command a expects  followed by text

你的sed版本不是GNU sed允许你使用的东西。 你需要写:

openscad $1 -D generate=1 -o $1.csg 2>&1 >/dev/null |
sed 's/ECHO: "[LC] //' |
sed 's/"$//' |
sed '$a
;' >./2d_$1

此外,三份sed有点过分(礼貌起见);一份就足够了:

openscad $1 -D generate=1 -o $1.csg 2>&1 >/dev/null |
sed -e 's/ECHO: "[LC] //' 
    -e 's/"$//' 
    -e '$a' 
    -e ';' >./2d_$1

或:

openscad $1 -D generate=1 -o $1.csg 2>&1 >/dev/null |
sed -e 's/ECHO: "[LC] //' -e 's/"$//' -e '$a' -e ';' >./2d_$1

在 MacOS 上,尝试使用命令"a"时,以下内容有效

sed '/REGEX/a 
    HELLO_WORLD 
    HOW_ARE_YOU 
' <filePath>

相关内容

  • 没有找到相关文章