大文字のみで構成されるすべてのサブフォルダ名を取得するには?

大文字のみで構成されるすべてのサブフォルダ名を取得するには?

小文字、アンダースコア、ドットなどを持たずに名前がAZで構成される親フォルダのフォルダをどのように取得できますか?

ベストアンサー1

「親フォルダ」を使うのはやや混乱しています。これにより、AZのみで構成されたツリー全体をナビゲートすることなく、指定されたパスにあるすべてのフォルダ(実際にはディレクトリ)を見つけることができます。

find /given/path -type d -maxdepth 1 -regextype sed -regex ".*/[A-Z]*"

たとえば、現在のディレクトリを実行するには

find . -maxdepth 1 -type d -regextype sed -regex ".*/[A-Z]*"

現在のディレクトリの親ディレクトリを実行するには、

find .. -maxdepth 1 -type d -regextype sed -regex ".*/[A-Z]*"

現在のディレクトリとその下のすべてのディレクトリを実行するには

find . -type d -regextype sed -regex ".*/[A-Z]*"

サンプル出力、

tony@trinity:~$ find . -maxdepth 1 -type d -regextype sed -regex ".*/[A-Z]*"
./AA
./TEST

./これで、出力から削除する必要がある場合は、cut後で削除できます。

tony@trinity:~$ find . -maxdepth 1 -type d -regextype sed -regex ".*/[A-Z]*" | cut -c 3-
AA
TEST

ただし、これはツリー全体を巡回しない場合にのみ機能します。

おすすめ記事