ley*_*nnx 42 homebrew sed .bash-profile
我将在OS X 10.9上设置本地Web开发环境并安装Homebrew.我的指南中的下一步告诉我~/.bash_profile使用以下命令向我添加逻辑:
echo "export PATH=\$(echo \$PATH | sed 's|/usr/local/bin||; s|/usr/local/sbin||; s|::|:|; s|^:||; s|(.*)|/usr/local/bin:/usr/local/sbin:\1|')" >> ~/.bash_profile && source ~/.bash_profile
Run Code Online (Sandbox Code Playgroud)
当我在终端输入时,我得到:
sed: 1: "s|/usr/local/bin||; s|/ ...": \1 not defined in the RE
Run Code Online (Sandbox Code Playgroud)
是export PATH=/usr/local/bin:/usr/local/sbin:$PATH应该写给我的.bash_profile吗?为什么我会收到这个错误?
Chr*_*ung 87
你应该使用\(.*\)而不是(.*).
sed使用基本正则表达式(BRE)默认情况下,它使用\(和\)对组拍摄,不只是(和)在扩展正则表达式(ERE)使用.由于您使用(.*)的\(.*\)是表达式,因此不会将其识别为组捕获,因此不会捕获任何内容以供使用\1.
某些sed实现(例如GNU和BSD提供的实现)确实具有用于指定ERE使用的扩展,但它没有由POSIX指定,如果您想要可移植,则不能使用它.
| 归档时间: |
|
| 查看次数: |
21182 次 |
| 最近记录: |