ex.を含む多くのフォルダを検索しようとしています。Events.1900-1990.events
。私はフォルダを前にしたくありません。を使用すると、Events.2004
フォルダにのみ1900年 - > 1990年の年が含まれます。
名前はEvent
誕生日、戦争など何でも構いません。
私は次のことを試しました:
find . -type d -regex '*/[a-z][A-Z]/19+\[0-9]*' -print
しかし、何も見つかりませんでした。
ベストアンサー1
find . -type d '(' -name '*19[0-8][0-9]*' -o -name '*1990*' ')'
名前に1900から1990までの数字を含む現在のディレクトリ内またはその下のすべてのディレクトリを見つけます。テストはファイル名に基づいて2つの部分に分けられ、最初のテストは1900から1989の数字で、2番目のテストは1990です。
この場合、正規表現を使用する必要はありません。上記のパターンはファイル名のワイルドカードパターンです。
ファイル名サフィックスのテストを追加するには、次の.events
2つの方法で実行できます。
find . -type d -name '*.events' '(' -name '*19[0-8][0-9]*' -o -name '*1990*' ')'
find . -type d '(' -name '*19[0-8][0-9]*.events' -o -name '*1990*.events' ')'
*
あなたのコマンドは正規表現の先頭のaと一致する文字を見つけません*
。[
文字に一致するように式の文字の1つをエスケープすることもできます[
。