サブディレクトリを含むディレクトリがあり、その一部の名前を取得する必要がありますが、無視したい同様のパターンを持つサブディレクトリがあります。
たとえば、サブディレクトリのリストが次のような場合:
Name_One
Not_needed1
Name_Two
Name_Three
Not_needed2
Name_Zero
サブディレクトリName_One、Name_Two、およびName_Threeの名前を変数に保存したいのですが、Name_0は無視したいと思います。
また、プロジェクトごとに名前が変更されますが、常にName_Numberのパターンに従い、Name_Zeroは常に除外する必要がある名前です。
私はMacオペレーティングシステムを使用しています。
答え1
努力する:
find . -type d -name 'Name_*' ! -name 'Name_Zero'
ディレクトリ名の場合Name_[digit]
とディレクトリを除くName_0
。
find . -type d ! -name 'Name_0' -regex './Name_[0-9]*'
サブディレクトリもある場合は、次のコマンドを使用します。
find . -type d ! -name 'Name_0' -regex '.*/Name_[0-9]*'
上記の正規表現は、パターンに一致するディレクトリ名と一致しますName_[zero-or-more-digits]
。一致を防ぐためにName_
代わりに使用してください'.*/Name_[0-9][0-9]*'
。