Tengo un archivo M en mi Mac (OS X ML 10.8.4) y un archivo P en mi PC (Win7). El archivo P era originalmente una copia del archivo M pero ahora está ligeramente actualizado. El archivo M tiene algunos atributos extendidos.
¿Cómo puedo copiar el archivo P en el archivo M y conservar los atributos extendidos en el archivo M?
Generalmente, si copio y pego P en M a través del recurso compartido de red, los atributos extendidos en M se pierden.
Estoy buscando una forma fácilmente implementable/escalable. cat P > M
No es realmente una opción (ni siquiera estoy seguro de si funciona). ¿Podría rsync
ayudar aquí?
Respuesta1
Si todavía hay archivos ._, puedes fusionarlos con dot_clean:
$ ls -A
._test.txt test.txt
$ xattr -l test.txt
$ dot_clean .
$ ls -A
test.txt
$ xattr -l test.txt
com.apple.TextEncoding: utf-8;134217984
Puedes copiar atributos con xattr -wx y -px:
xattr -wx attributename "$(xattr -px attributename source.txt)" target.txt
xattr solo imprime nombres de atributos si el argumento es un solo archivo:
for f; do
for a in $(xattr "$f"); do
xattr -wx $a "$(xattr -px $a ~/Documents/Original/"$f")" "$f"
done
done