Nel passaggio da Windows a Mac, oppure da Linux a Mac qualcuna delle operazioni più comuni risultano impossibili o quasi.
Una di queste operazioni è il merge: unire i contenuti di due cartelle e sottocartelle in una sola cartella.
Se dal finder trasciniamo una cartella in un’altra che contenga altri elementi con lo stesso nome il risultato sarà quasi sicuramente una perdita di dati, perché le cartelle nella posizione di destinazione con lo stesso nome saranno sovrascritte, con una conseguente perdita di dati.
Purtroppo però ormai il mac lo avete comprato, quindi si hanno solo due opzioni:
- Cambiare sistema operativo
- Usare la linea di comando per queste operazioni.
Usare ditto per fare il merge di due cartelle in OSX
Ditto è un comando nativo di OSX nato per questo genere di operazioni. In linea con il resto del sistema operativo non supporta operazioni di taglia ed incolla: una volta che la procedura di copia è terminata dovrete rimuovere a mano la sorgente.
Il comando da eseguire è il seguente:
ditto cartella/sorgente ../../cartella/di/destinazione
In questo modo tutti i file nella cartella sorgente saranno copiati nella cartella di destinazione.
Guida all’uso del comando ditto:
Uso: ditto [ ] sorgente1 [ … sorgenteN ] destinazione
-h | Stampa la guida |
-v | Stampa lo stato per ogni linea del sorgente copiato |
-V | Stampa una linea per ogni file copiato |
-X | Non entra nelle cartelle con un device ID differente |
-c | Crea un archivio DST usando il formato CPIO come predefinito |
-x | File sorgenti sono archivi |
-z | Comprime in formato gzip gli archivi CPIO |
-j | Comprime in formato bzip2 gli archivi CPIO |
-k | Archivi sono di tipo PKZip |
–keepParent | Le cartelle genitore nel sorgente sono mantenute |
–arch archVal | File di grandi dimensioni saranno compressi ad archVal |
possono essere specificate multiple opzioni -arch | |
archVal dovrebbe avere come valore “ppc”, “i386”, ecc | |
–bom bomFile | Sono gli oggetti nel bomFile sono copiati |
–norsrc | Non mantenere le informazioni di tipo resource date |
–noextattr | Non mantenere gli attributi estesi |
–noqtn | Non mantenere le informazioni sulla quarantena |
–noacl | Non mantenere ACLs |
–sequesterRsrc | Copia le risorse attraverso una cartella comodo (solo per PKZip) |
–nocache | Non usare la cache del filesystem per lettura e scrittura |
–hfsCompression | Comprimi i file a destinazione se appropriato |
–nopreserveHFSCompression | Non preservare la compressione HFS+ durante la copia |
–zlibCompressionLevel num | Usa una compressione di livello ‘num’ durante la creazioe di archivi PKZip |
–password | Richiedi l’uso di una password per leggere da un file PKZip criptato. |