FreeBSD Grepに「-」オプションを認識させる方法は?

FreeBSD Grepに「-」オプションを認識させる方法は?

私はFreeBSD grepバージョン2.5.1を使用しており、grepがstdinからパターンを読み取ることができるようにしたいと思います。私が使用した他のバージョンのgrepでは、-この機能を指定できます。しかし、私のバージョンではこのオプションは認識されません。 「manページ」で私が見逃した代替オプションはありますか?それとも、FreeBSD grep 2.5.1はこの機能をサポートしていませんか?

答え1

grep「他のバージョン」があなたが意味するものだと思います。牛に似た一種の栄養grepそして、あなたが言ったように動作するように主張を-f許可するオプションを検討しています。-

BSDはgrepこれをサポートします-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が付属しています。実際、grepSolarisでSysVを使用するには多くの努力が必要です。

関連情報