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
grep
korn シェルとは異なる正規表現一致を使用します。
そのため、grepにはinclude .*
(すべての文字と0回以上一致)が必要です。ksh
(および)はそのパターンbash
のみを使用します。*
このgrep
アプローチは正規表現パターンとksh
ワイルドカードパターンとも呼ばれます。