
다음과 같은 디렉토리 구조가 있습니다.
/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}
와일드카드 이전 에 {...}
시퀀스가 확장되고 와일드카드 패턴은 존재하는 파일/디렉터리에만 일치하므로 이를 사용할 수 없습니다 .