ฉันต้องการสำรองเฉพาะโฟลเดอร์เพลง FLAC ของฉัน ไฟล์ FLAC สามารถซ้อนกันเช่นนั้นภายในโฟลเดอร์:
AlbumName/
├── Files/
│ ├── someSong01.flac
│ ├── someSong02.flac
├── Covers/
│ ├── someCover01.jpg
│ └── someCover02.jpg
ฉันจะคัดลอกและย้ายโฟลเดอร์ของ AlbumName ทั้งหมดด้วยโครงสร้างและเนื้อหาที่เกี่ยวข้องที่มีที่อยู่ภายในไฟล์ FLAC อย่างน้อยหนึ่งไฟล์ (ฉันจะถือว่านี่เพียงพอที่จะพูดได้ว่า: เพลงอยู่ในรูปแบบ FLAC)
แก้ไข: ไฟล์ FLAC สามารถซ้อนกัน; ดังนั้นฉันสามารถมี:
AlbumName2/
├── someSong01.flac
├── someSong02.flac
├── Covers/
│ ├── someCover01.jpg
| └── someCover02.jpg
และฉันต้องการคัดลอกโฟลเดอร์เหล่านั้นด้วยเนื้อหาทั้งหมดไม่เพียง แต่ไฟล์ FLAC และวางไปยังไดเรกทอรีอื่น
ดังนั้นถ้าฉันมีเช่นกัน
AlbumName3/
├── someSong01.mp3
├── someSong02.mp3
├── Covers/
│ ├── someCover01.jpg
| └── someHiddenSong.flac
และ
AlbumName4/
├── Files/
│ ├── someSong01.mp3
│ ├── someSong02.mp3
├── Covers/
│ ├── someCover01.jpg
│ └── someCover02.jpg
ฉันต้องการ cp ซ้ำไปยังไดเรกทอรีอื่น AlbumName, AlbumName2 และ AlbumName3 แต่ไม่ใช่ AlbumName4
แก้ไข: ไม่มีคำตอบใดที่ทำสิ่งที่ฉันต้องการจริงๆดังนั้นฉันจึงใช้สิ่งนี้:
find -mindepth 2 -name '*.flac' -exec dirname {} \; | awk -F "/" '{print $2}' | sort -u | while read -r dirname; do cp -r "$dirname" "backup/"; done
โดยทั่วไปฉันรายการไฟล์ flac ทั้งหมดฉันดึงโฟลเดอร์รูทโดยใช้ awk ฉันลบไฟล์ที่ซ้ำกันและฉันทำสิ่งที่ฉันต้องการ