しらいです。 In Message-Id <001101c39b7f$7fb499c0$0200a8c0@lancer> "Takeuchi" <takeu-al@xxxxxxxxxxxxxxxx>さんwrites: > takeuchi と申します。 > [root@localhost take]# rpm -qa | grep ee* > [root@localhost take]# rpm -qa | grep *ee* grep の正規表現についてはすでに回答が出ているようですが、 それ以前のお話といて、grep に正確に「ee*」や「*ee*」を渡した いと思ったら、「"ee*"」又は「'ee*'」のように必ず quote で括 るようにして下さい。 quote されていない「*」や「?」といった meta character は、 grep に渡る前に shell で処理されてしまいますので、実際に grep に渡る文字列は current directory の file 群に依存します。 上の例の場合、「ee」を含む filename が存在しないならば期待 した結果が得られるでしょうが、例えば「eefg」という filename 存在した場合、grep には「ee*」ではなく「eefg」という文字列が 渡されてしまうので、期待した結果は得られないと思います。 似たような例として、「find . -name *.c」なんて失敗もありが ちですよね。正解は「find . -name '*.c'」。 # 「$」や「~」を含まない場合は「""」で括れば十分ですが、含 #む場合は必ず「''」で括る必要があります。「""」の中では、そ #れぞれ shell variable、home directory として展開されてしま #いますから。 # 使い分けが判らなかったら、常に「''」で括るようにしておけ #ば無難ですね。 しらい たかし
References:
- [linux-users:101059] 正規表現についてTakeuchi
- Prev by Subject: [linux-users:101062] Re: 吹き上がる火炎のなかの夜叉
- Next by Subject: [linux-users:101064] [linux-users:100913] Re: RedHatLinux9でNICの認識がうまくいかない
- Previous by thread: [linux-users:101061] Re: 正規表現について
- Next by thread: [linux-users:101066] install vmware
- Indexes:[Main][Thread]