mac终端的sed有问题吗?

时间:2013-03-09 16:58:49

标签: sed

我无法在我的mac终端上进行sed工作。我的原始版本是/ usr / bin / sed 我想看看它是什么版本,所以我输入:

sed --version

我得到以下输出:

  

/ usr / bin / sed:非法选项 - - 用法:sed脚本[-Ealn] [-i   扩展名] [文件...]          sed [-Ealn] [-i extension] [-e script] ... [ - f script_file] ... [file ...]

我的手册页是针对sed 4.2的,应该有一个--version选项

然后我从gnu ftp http://ftp.gnu.org/gnu/sed/

下载到/ usr / local / bin

然后我运行/usr/local/bin/sed --version并仍然获得与原始版本相同的输出。我完全糊涂了,有人能弄清楚我做错了吗?

编辑:似乎即使哪个sed 给了我 / usr / local / bin / sed 命令 sed 仍在运行< em> / usr / bin / sed ,因此未调用 / usr / local / bin / sed 。如果我以完整路径调用它,它会按预期工作。

我想问题是为什么哪个sed 给了我 / usr / local / bin / sed 但是当我输入 sed 是 / usr / bin / sed

1 个答案:

答案 0 :(得分:2)

您的/usr/bin/sed是BSD sed,它不支持--version,因为您的错误声明显示。它的手册页是/usr/share/man/man1/sed.1.gz,当我读到根本没有提到版本时,手册页上的日期是2005年5月10日。

我认为你有一个不正确的手册页。最有可能的是MANPATH,它首先在其他地方寻找。

至于为什么/usr/local/bin/sed你说的是GNU sed不尊重--version我不确定。你能详细介绍一下吗?