¿Cómo copiar un archivo de una PC a una Mac y al mismo tiempo conservar xattrs en el archivo de destino?

¿Cómo copiar un archivo de una PC a una Mac y al mismo tiempo conservar xattrs en el archivo de destino?

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 > MNo es realmente una opción (ni siquiera estoy seguro de si funciona). ¿Podría rsyncayudar 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

información relacionada