有没有人碰巧知道为什么:
echo "random text error: ‘the text I want’" | sed "s%.*error: ‘\(.*\)’%\1%"
就像Linux上的魅力一样,但却依赖于Mac OS X的sed实现。当我说挂起时,我的意思是下降到没有输出的下一行,然后等待。
我知道实现方式不同,但似乎无法找到具体原因。我可以让Mac OS X的sed实现用智能引号做其他事情(比如用“普通”替换它们)。
对于任何感兴趣的人,这与编译器错误输出类似。 Mac OS X上的GCC也会在其错误消息中输出智能引号。
答案 0 :(得分:0)
你能解决这个问题吗,把sed-command放到'quoted.sed'文件中,然后调用它
echo "random text error: ‘the text I want’" | sed -f quoted.sed
同样的问题?