首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >How to use GNU sed on Mac OS 10.10+,'brew install --default-name‘不再受支持

How to use GNU sed on Mac OS 10.10+,'brew install --default-name‘不再受支持
EN

Stack Overflow用户
提问于 2015-05-02 22:41:42
回答 8查看 84.9K关注 0票数 104

在Mac OS 10.10.3下,我通过键入以下命令安装gnu-sed:

代码语言:javascript
复制
brew install gnu-sed --default-names

当我再次键入它时,我会得到这样的消息:

gnu-sed-4.2.2已安装

但是,即使在重新启动系统和重新启动终端之后,我仍然不能使用sed的GNU版本。例如:

代码语言:javascript
复制
echo a | sed ’s_A_X_i’

返回:替换命令'i‘中的错误标志

我应该怎么做才能让GNU版本正常工作?下面是我的$PATH变量中的路径。

代码语言:javascript
复制
/Users/WN/-myUnix
/opt/local/bin
/opt/local/sbin
/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/bin
/Applications/calibre.app/Contents/MacOS
/opt/ImageMagick/bin
/usr/texbin 

如果我的问题很明显,我很抱歉,但我自己正在学习shell脚本,还不太了解UNIX程序是如何安装的。在Mac上使用兼容GNU的命令(在本例中是sed,但很快我也需要其他命令)而不会造成损坏或不必要的混乱,我将不胜感激。

EN

回答 8

Stack Overflow用户

发布于 2016-01-16 00:49:11

注(2019):

自2019年1月起,--with-default-names选项为removed,因此现在该选项不再可用。

安装时,如果要使用不带g前缀的sed,Homebrew会指导如何调整路径。

您已经在没有--with-default-names选项的情况下安装了gnu-sed。

它会安装sed to /usr/local/bin/

  • Without该选项它会安装--with-default-names选项,并带有
  • --with-default-names选项

所以在你的案例中,你需要做的是:

代码语言:javascript
复制
$ brew uninstall gnu-sed
$ brew install gnu-sed --with-default-names

如果需要,请更新路径...

代码语言:javascript
复制
$ echo $PATH | grep -q '/usr/local/bin'; [ $? -ne 0 ] && export PATH=/usr/local/bin:$PATH
$ echo a | sed 's_A_X_i'

或者按照其他人的建议使用gsed

票数 116
EN

Stack Overflow用户

发布于 2015-11-17 19:50:43

当您使用以下命令为Mac安装sed的GNU版本时:

代码语言:javascript
复制
$ brew install gnu-sed

您使用的程序是gsed.

举个例子:

代码语言:javascript
复制
$ echo "Calimero is a little chicken" > test
$ cat test
Calimero is a little chicken
$ gsed -i "s/little/big/g" test
$ cat test
Calimero is a big chicken

此外,为了称赞在Mac上使用GNU命令工具,这里有一篇很好的博客文章,可以从linux获得这些工具:

Install and use GNU command line tools on Mac OS/OS X

票数 56
EN

Stack Overflow用户

发布于 2019-05-06 22:33:07

$ brew install gnu-sed

代码语言:javascript
复制
$ export PATH="/usr/local/opt/gnu-sed/libexec/gnubin:$PATH"

使用这两个命令,gnu-sed可以正常工作

票数 23
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30003570

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档