J'ai un script AppleScript qui exécute un test de résistance. Une partie du test consiste à ouvrir, enregistrer et fermer certains fichiers. D'une manière ou d'une autre, les fichiers ont récupéré certains "attributs étendus" qui interdisent l'enregistrement des fichiers. Cela provoque l'échec du test de résistance.
Comment supprimer les attributs étendus?
macos
attributes
apprivoise
la source
la source
Réponses:
Utilisez la
xattr
commande. Vous pouvez inspecter les attributs étendus:et utilisez l'
-d
option pour supprimer un attribut étendu:vous pouvez également utiliser l'
-c
option pour supprimer tous les attributs étendus:xattr -h
vous montrera les options de ligne de commande, et xattr a une page de manuel .la source
-c
ne fonctionne pas pour moi (OS X 10.6.8).-d
n'a également eu aucun effet bien qu'il ne se soit pas plaint. J'ai dû nommer explicitement chaque attribut étendu comme ceci:xattr -rd <attrname> <folder/file>
(supprime récursivement). Pour connaître les attributs présents (probablement les mêmes attributs dans toute l'arborescence des répertoires), utilisezxattr <dir/file>
comme dans la réponse ci-dessus.xattr -c
fonctionne très bien pour moi (et a réussi à supprimer toutes les métadonnées).Suppression d'un attribut unique sur un seul fichier
Voir la réponse de Bavarious.
Pour supprimer tous les attributs étendus d'un seul fichier
Utilisez
xattr
avec le-c
drapeau pour "effacer" les attributs:Pour supprimer tous les attributs étendus de nombreux fichiers
Pour supprimer récursivement les attributs étendus de tous les fichiers d'un répertoire, combinez l'
-c
indicateur "clear" avec l'-r
indicateur récursif:Un conseil pour les utilisateurs de Mac OS X
Vous avez un long chemin avec des espaces ou des caractères spéciaux?
Ouvrez
Terminal.app
et commencez à taperxattr -rc
, incluez un espace de fin, puis faites glisser le fichier ou le dossier vers laTerminal.app
fenêtre et il ajoutera automatiquement le chemin d'accès complet avec un échappement approprié.la source
-c
échoue sur OS X 10.5:option -c not recognized
. Nous en utilisons un pour les tests sur le PowerPC d'Apple. Il ressemble à la version downlevel de supports OS X-l
,-p
,-w
et-d
.. textClipping
ceux décrits dans apple.stackexchange.com/questions/301871/…Essayez d'utiliser:
Cela prend soin de supprimer récursivement l'attribut embêtant partout.
la source
Une autre approche récursive:
la source
-c
échoue sur OS X 10.5:option -c not recognized
. Nous en utilisons un pour les tests sur le PowerPC d'Apple. Il ressemble à la version downlevel de supports OS X-l
,-p
,-w
et-d
.Réponse (fichiers individuels)
1. Présentez les clés à utiliser dans la sélection.
2. Choisissez une clé à supprimer.
3. Présentez à nouveau les clés pour voir qu'elles ont été supprimées.
4. Enfin, SUPPRIMER TOUTES les clés d'un fichier particulier
Réponse (tous les fichiers d'un répertoire)
1. Présentez les clés à utiliser dans la sélection.
2. Supprimez une clé spécifique pour CHAQUE FICHIER dans un répertoire
3. Supprimez TOUTES les clés de CHAQUE FICHIER d'un répertoire
les erreurs
Je voulais corriger l'erreur que les gens obtiennent. Parce que les erreurs m'ont rendu fou aussi ... Sur un mac si vous installez
xattr
en python, votre environnement peut avoir un problème.Ainsi, dans l'un des exemples, où
-c
ne fonctionnera pas dans xargs, c'est parce que dans bash, vous utilisez par défaut la version non-python.Marche avec
-c
Ne fonctionne PAS avec
-c
Par défaut, mon shell / terminal est / usr / local / bin / xattr car mon
$PATH
/usr/local/bin:
est avant/usr/bin:
lequel je crois que c'est la valeur par défaut.Je peux le prouver car, si vous essayez de désinstaller le python,
xattr
vous verrez:Solutions de contournement
Pour corriger les
option -c not recognized
erreurs.xattr
vous pourriez avoir:pip3 uninstall xattr
Terminal
fenêtres et quittezTerminal
Terminal
fenêtre.xattr
commande et cela devrait maintenant fonctionner.OU
pour toutes les
Shell
commandes dansTerminal
Exemple:
La version de Python de
xattr
ne gère pas du tout les images:Pages de manuel
PAGE DE MAN pour OSX xattr
PAGE DE MAN pour Python xattr VERSION 0.6.4
Merci d'avoir lu!
la source