• 締切済み

複数存在するgrepについて

自分はSolaris7(8)を使用しているのですが、grepが /bin/grep /usr/bin/grep /usr/xpg4/bin/grep の3つ存在しています。動作的には前者2つが同じようで、最後者がちょっと拡張されているように思われます。思うに大きな違いは"-f|-e"(ファイルにマッチすべき文字列を書いておくことが出来る)が大きいと思うのですが、そこで、 1) /xpg4 というdirectoryはどのような意味合いを持っているのでしょうか?どのような括りでこのディレクトリがあるのでしょうか? 2) 上に書いたオプションの違いのほかに、両者にはどのような違いが有るのでしょうか? 3) 通常、UNIXのユーザーは/usr/bin/grepがデフォルトで使っているというのが「正しい」と思うのですが、後者(xpg4)がデフォルトとして使われる場合にはどのようなケースがあるのでしょうか? --[参考]-- /usr/bin/grep [ -bchilnsvw ] limited-regular-expression [filename ... ] /usr/xpg4/bin/grep [-E | -F ] [-c | -l | -q ] [ -bhinsvwx ] -e pattern_list ... [ -f pattern_file ... ] [ file ... ] ---------- 宜しくお願いいたします。

みんなの回答

  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.2

No.1 の回答で触れられていない /bin/grep と /usr/bin/grep について。 /bin は /usr/bin のシンボリックリンクになっているはずです。なので、 /bin/grep と /usr/bin/grep は、同じものです。 % uname -a SunOS CRT1 5.8 Generic_108528-08 sun4u sparc SUNW,Ultra-5_10 % ls -ldi /bin /usr/bin 4 lrwxrwxrwx 1 root root 9 7月 26日 2001年 /bin -> ./usr/bin 105408 drwxr-xr-x 3 root bin 10752 7月 19日 18:54 /usr/bin

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

XPG4は、「X/Open Portability Guide issue 4」の略で、これに準拠したコマンドが、そこに置いてます。 デフォルトでどっち使っているかは環境変数PATHかaliasのよるんで、一概にはどっちとは言えないでしょう。 標準に従うなら、/usr/xpg4/binの方が先に来るべきかと。

参考URL:
http://docs.sun.com/?l=ja&q=xpg4&p=/doc/816-3328/6m9k8pg3q&a=view

関連するQ&A