これに対する私の議論の余地がある意見この回答使用すべきかどうかに関する質問にfgrepまたはgrep-F
携帯性のためのスイッチ(例)が付属していますgrep -F
。現在までに明らかになった主な内容は次のとおりです。
grep -F
:
- POSIX標準です。
- GNUはサポートの中止を
grep
発表しましたfgrep
。
fgrep
:
- 歴史的に、これは
grep -F
オプションの前に来ます。 - GNU grepは廃止予定であると
fgrep
宣言されていますが、歴史的使用のために依然として固執しているようです。
古い(非常に古い)システムについて考えると、一部のシステムはそうではないことがわかりますgrep -F
(これが起こる可能性は非常にまれであると思います)。しかし、本当に非常に古いマシンを心配し、それに対するPOSIX標準を避ける必要がありますか?
以前のシステム(使用できないと言われる、または主張されているgrep -F
)を含む現在の状況を考慮すると、サポートされているシステムがたくさんありますfgrep
。
一方、将来を見据えたら、これはPOXIS標準としてfgrep
歴史と勝利になります。grep -F
また、より良い移植性のためにPOSIX標準を使用することは常識ではありませんか?
答え1
grep -F
POSIXです。fgrep
いいえ。スクリプトを使用しgrep -F
てPOSIXに依存していることを明確にしてくださいgrep
。必要なのは明示的に宣言された依存関係だけです。
どちらを使っても構いません...
if command -v fgrep
then _grepf(){ fgrep "$@"; }
else _grepf(){ grep -F "$@"; }
fi >/dev/null
...しかし、そのようなことをするのは面倒で、通常は時間の無駄です。依存関係リストで最も低い一貫性レベルを設定し、標準が残りを処理できるようにします。