Tenho um arquivo M no meu Mac (OS X ML 10.8.4) e um arquivo P no meu PC (Win7). O arquivo P era originalmente uma cópia do arquivo M, mas agora está ligeiramente atualizado. O arquivo M possui alguns atributos estendidos.
Como posso copiar o arquivo P para o arquivo M, preservando os atributos estendidos no arquivo M?
Geralmente, se eu copiar e colar P em M por meio do compartilhamento de rede, os atributos estendidos em M serão perdidos.
Estou procurando uma maneira facilmente implementável/escalável. cat P > M
não é realmente uma opção (nem tenho certeza se funciona). Poderia rsync
ajudar aqui?
Responder1
Se ainda houver arquivos ._, você poderá mesclá-los com 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
Você pode copiar atributos com xattr -wx e -px:
xattr -wx attributename "$(xattr -px attributename source.txt)" target.txt
xattr só imprime nomes de atributos se o argumento for um único arquivo:
for f; do
for a in $(xattr "$f"); do
xattr -wx $a "$(xattr -px $a ~/Documents/Original/"$f")" "$f"
done
done