次のディレクトリ構造があります。
/media/storage/sqlbackup/CUSTOMER1
/media/storage/sqlbackup/CUSTOMER2
...
/media/storage/sqlbackup/CUSTOMER*
各CUSTOMER*
ディレクトリ可能daily
、weekly
およびというサブディレクトリが含まれていますmonthly
。CUSTOMER*
ディレクトリにdaily
OR がなければ生成しweekly
、monthly
あれば維持したいと思います。
今後:
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}
ワイルドカードの前に{...}
シーケンスが拡張され、ワイルドカードパターンは存在するファイル/ディレクトリにのみ一致するため、使用できません。