1 votes

Comment déplacer/copier/traiter des fichiers sur la base d'attributs étendus dans Terminal/Shell ?

J'ai besoin de déplacer un certain nombre de fichiers sur la base de divers attributs étendus, mais la manière de les tester et de prendre des mesures en fonction de ceux-ci n'est pas claire. Pour prendre un exemple simple, que se passe-t-il si je veux trouver et déplacer tous les fichiers d'un dossier qui ont l'attribut com.apple.quarantine a ~/Downloads/quarantined/ et les fichiers avec com.apple.metadata:kMDItemWhereFroms a ~/Downloads/sort/ ?

Il est clair que l'on pourrait penser, en premier lieu, à exécuter une commande comme celle-ci, mais on verra que les résultats nécessitent un traitement supplémentaire :

$ /bin/ls -ldO@ *
-rw-r--r--@ 1 USER  GROUP  - 123456789 Jul  8 10:52 FILENAME.EXT
    com.apple.quarantine          54
-rw-r--r--@ 1 USER  GROUP  - 123456789 Jul  4 15:26 FILENAME_2.EXT
    com.apple.quarantine          59
    com.apple.metadata:kMDItemWhereFroms         65
    ETC      XX

xattr n'est pas beaucoup mieux dans la mesure où il offre des résultats tout aussi alambiqués :

$ xattr *
FILENAME.EXT: com.apple.quarantine
FILENAME_2.EXT: com.apple.metadata:kMDItemWhereFroms
FILENAME_2.EXT: com.apple.quarantine
FILENAME_2.EXT: ETC

Existe-t-il un autre moyen / un moyen plus propre et plus efficace de déplacer des fichiers en fonction des attributs par rapport à l'écriture d'un script qui obtient et traite ensuite les fichiers en fonction de divers champs d'attributs étendus du système de fichiers sur MacOS ?

1 votes

Comment voulez-vous qu'un fichier ayant les deux attributs de votre exemple soit traité ?

1voto

wch1zpink Points 6067

Dans le terminal, supposons que le répertoire actuel dans lequel vous vous trouvez est le répertoire dans lequel vous souhaitez rechercher les fichiers ayant l'attribut com.apple.quarantine .

Le shell suivant script trouvera et déplacera les fichiers.

find "$PWD" -type f -mindepth 1 -maxdepth 1 -xattrname com.apple.quarantine -exec mv {} ~/Downloads/quarantined/ \;

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X