ksh の Grep パターン

ksh の Grep パターン

grepに関する小さな質問です。

私は仕事をしています:

find . -type d

3つのディレクトリがあります。

./backup-2013-11-27
./backup-2013-11-26
./backup-2013-11-28

11月26日の項目のみを検索するには、次の手順を実行します。

find . -type d | grep "2013.*11.*26"

効果がある

しかし、理由を理解していません。

find . -type d | grep "2013*11*26"

動作しません...
実際には、ここでは正規表現を使わずにパターンを使用しているので、パターンを*ワイルドカードとして使用する必要がありますか?

ベストアンサー1

grepkorn シェルとは異なる正規表現一致を使用します。

そのため、grepにはinclude .*(すべての文字と0回以上一致)が必要です。ksh(および)はそのパターンbashのみを使用します。*

このgrepアプローチは正規表現パターンとkshワイルドカードパターンとも呼ばれます。

おすすめ記事