Intento sincronizar dos carpetas, pero con excepciones hechas por etiquetas. Así que aprendí que necesito diferentes comandos para realizar ese trabajo. Primero creo un archivo de archivos excluidos, que tienen una etiqueta en naranja o rojo establecida.
Luego llamo a rsync con este archivo de salida como la lista de no-hacer. Pero el contenido del archivo es un nombre de archivo absoluto, mientras que rsync parece necesitar una ruta relativa.
Esto es lo que ya tengo (¡necesito el idioma local para los nombres!):
mdfind -onlyin . "kMDItemUserTags == 'Orange' || kMDItemUserTags == 'Rot'" > excluded.txt
Y esto es lo que necesito que se ejecute:
rsync -avz --exclude-from "excluded.txt" source/ destination/
¿Alguna idea?
Información adicional para una mejor lectura: Ahora con "sed", obtengo:
./Gruppe/A-Teens
./Gruppe/A-Teens/A - Teens - Mama Mia.mp3
./Gruppe/A-Teens/A - Teens - Super Trouper.mp3
Desafortunadamente esto no funciona. De nuevo todo se copia. Declaraciones actuales:
cd /Users/serveruser/Desktop/fasttemp/temp/Unser/Songs
mdfind -onlyin . "kMDItemUserTags == 'Orange' || kMDItemUserTags == 'Rot'" | sed 's|/Users/serveruser/Desktop/fasttemp/temp/Unser/Songs|.|' > excluded.txt
rsync -avz --exclude-from "excluded.txt" /Users/serveruser/Desktop/fasttemp/temp/Unser/Songs/ /Users/serveruser/Desktop/fasttemp/temp/Unser/Backup/