如何让 FreeBSD Grep 识别“-”选项?

如何让 FreeBSD Grep 识别“-”选项?

我正在使用 FreeBSD grep 版本 2.5.1,并且希望能够让 grep 从 stdin 读取模式。我使用过的其他版本的 grep 允许指定-启用此功能。但是,我的版本无法识别此选项。是否有我在“手册页”中错过的替代选项,或者 FreeBSD grep 2.5.1 不支持这种功能?

答案1

我怀疑grep你所说的“其他版本”是指GNUgrep并正在考虑其-f选项,该选项允许-争论使其按照您所说的方式运行。

BSDgrep确实支持-f,但它需要一个实际的文件作为参数。它确实不会-作为一个论据。

一切并没有失去。您仍然可以grep通过命令替换将模式传递给:

$ grep `my-pattern-producing-command` some-files*

或者,如果模式位于文件中:

$ grep `head -1 my-pattern-file.txt` some-files*

或者,只需安装 GNU grep

$ cd /usr/ports/textproc/gnugrep
$ sudo make install clean

顺便说一下,SysV根本grep不支持-f,所以这是谨慎依赖它的另一个原因。也就是说,Solaris 现在grep默认提供 GNU。实际上,您必须不遗余力地grep在 Solaris 上使用 SysV。

相关内容