一致するサブディレクトリを含まないすべてのディレクトリを見つけて作成します。

一致するサブディレクトリを含まないすべてのディレクトリを見つけて作成します。

次のディレクトリ構造があります。

/media/storage/sqlbackup/CUSTOMER1
/media/storage/sqlbackup/CUSTOMER2
...
/media/storage/sqlbackup/CUSTOMER*

CUSTOMER*ディレクトリ可能dailyweeklyおよびというサブディレクトリが含まれていますmonthlyCUSTOMER*ディレクトリにdailyOR がなければ生成しweeklymonthlyあれば維持したいと思います。

今後: CUSTOMER1/daily

後ろに: CUSTOMER1/{daily,weekly,monthly}

私は find を賢く使ってこれをやろうとしていますが、一致しないすべての項目を返そうとしています。

ベストアンサー1

すでに存在するディレクトリに関連するエラーを非表示にしてディレクトリを作成できます。

for custDir in /media/storage/sqlbackup/CUSTOMER*
do
    mkdir -p "$custDir"/{daily,weekly,monthly}
done

/media/storage/sqlbackup/CUSTOMER*/{daily,weekly,monthly}ワイルドカードの前に{...}シーケンスが拡張され、ワイルドカードパターンは存在するファイル/ディレクトリにのみ一致するため、使用できません。

おすすめ記事