こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

grep 正規表現の扱い方 特定のファイル郡のみを指定するには?

ディレクトリのファイルをgrepを使った正規表現で指定したいのですが、

/hoge/temp[001-999].php
のように、hogeディレクトリにあるphpファイル全てを含め、なおかつ、
/hoge/foo/temp[001-999].php
のように、hoge/fooディレクトリにあるphpファイルを全て含めない正規表現の書き方を教えてほしいです。

正規表現にあまり詳しくなく、思いつくものといっても「hoge/.*.php」くらいで、当たり前ですが双方のディレクトリが含まれてしまいます・・・。

もう一つ、質問です。
/hoge/ ディレクトリにあるファイル全てを含め、なおかつ
/hoge/foo/ ディレクトリにあるファイルは全て含めない
という指定の仕方も教えてほしいです。

分かる方がいましたら、お手数ですがぜひ教えてください。よろしくお願いします<(_ _)>

投稿日時 - 2006-11-08 09:45:01

QNo.2525189

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

一般論だと, 「正規表現で『~を含まない』と指定するのは面倒」(要するに可能性を全列挙するしかないから) で終わり.
「当該ディレクトリ直下」まで手を抜いていいなら [^/]* とするのが簡単.

投稿日時 - 2006-11-08 17:14:16

補足

自己解決しました。
hogeディレクトリに存在するphpファイルを全て指定
hoge/[:alnum:]*.php

hogeディレクトリに存在するファイルを全て指定
hoge/[:alnum:]*

回答ありがとうございました。

投稿日時 - 2006-11-08 21:23:28

あなたにオススメの質問