Wie kopiere ich eine Datei vom PC auf den Mac und erhalte dabei die xattrs der Zieldatei?

Wie kopiere ich eine Datei vom PC auf den Mac und erhalte dabei die xattrs der Zieldatei?

Ich habe eine Datei M auf meinem Mac (OS X ML 10.8.4) und eine Datei P auf meinem PC (Win7). Datei P war ursprünglich eine Kopie von Datei M, wurde jetzt aber leicht aktualisiert. Datei M hat einige erweiterte Attribute.

Wie kann ich die Datei P in die Datei M kopieren und dabei die erweiterten Attribute der Datei M beibehalten?

Wenn ich P über die Netzwerkfreigabe auf M kopiere und einfüge, gehen im Allgemeinen die erweiterten Attribute auf M verloren.

Ich suche nach einer leicht umsetzbaren/skalierbaren Möglichkeit. cat P > Mist keine wirkliche Option (bin mir nicht einmal sicher, ob das funktioniert). Könnte rsynchier helfen?

Antwort1

Wenn noch ._ Dateien vorhanden sind, können Sie diese mit dot_clean zusammenführen:

$ 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

Sie können Attribute mit xattr -wx und -px kopieren:

xattr -wx attributename "$(xattr -px attributename source.txt)" target.txt

xattr druckt Attributnamen nur, wenn das Argument eine einzelne Datei ist:

for f; do
  for a in $(xattr "$f"); do
    xattr -wx $a "$(xattr -px $a ~/Documents/Original/"$f")" "$f"
  done
done

verwandte Informationen