Come unire cartelle in OSX senza perdere dati con ditto


terminal_101_teaser_83

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:

  1. Cambiare sistema operativo
  2. 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.

Lascia un Commento!