数字のないすべてのディレクトリ(元のパスを除く)を見つけるには、次のコマンドを実行します。
find /path/2/directory -type d -name '[!0-9]*'
問題は、見つかったディレクトリがその番号のディレクトリのサブディレクトリであることです。
例:
/path/2/directory/20160303/backup
でも
/path/2/directory/backup20160303a/backup
findがそのようなディレクトリを返すのを防ぐ方法はありますか?
深さを制限するだけでは、この問題を解決できません。深さはさまざまです。
例:
/path/2/directory/subdirectory/20160303/backup
ベストアンサー1
-prune
次のディレクトリを無視するために使用されます。
find /path/to/directory -name '*[0-9]*' -prune -o -type d -print
ただしgnu
、これを設定する場合は、上記のC
コマンドを実行するときにロケールを使用することをお勧めします。以下のStéphaneの説明を参照してください。