J'ai un fichier pour lequel une application a défini des attributs étendus.
$ xattr -l /Volumes/Educating\ Rita\ \(1983\)/Educating\ Rita\ \(1983\).1.eng.srt
net.filebot.filename: 3_English.srt
net.filebot.metadata: {"@type":"Movie","year":1983,"imdbId":85478,"tmdbId":38291,"language":"en","id":38291,"name":"Educating Rita","aliasNames":[]}
J'ai essayé plusieurs méthodes pour obtenir la valeur de @type
à l'intérieur de l'attribut, mais je n'ai pas trouvé de moyen de rechercher ces valeurs dans plusieurs fichiers et de les renvoyer.
xattr -l /Volumes/Educating\ Rita\ \(1983\)/Educating\ Rita\ \(1983\).1.eng.srt | grep @type
net.filebot.metadata: {"@type":"Movie","year":1983,"imdbId":85478,"tmdbId":38291,"language":"en","id":38291,"name":"Educating Rita","aliasNames":[]}
Je veux trouver chaque fichier .srt et grep
pour la valeur de @type
. Dans les résultats ci-dessus, la commande renverrait "Movie".
$ find . -iname "*.srt" | while read -r file; do `xattr -l "$file" | grep "Type" >> /Users/john/Desktop/filebotmeta1.txt` ; done
Cela me donne un document texte avec ce contenu :
net.filebot.metadata: {"@type":"Movie","year":1983,"imdbId":85478,"tmdbId":38291,"language":"en","id":38291,"name":"Educating Rita","aliasNames":[]}
Mais je veux revenir @type
et sa valeur n'est pas le contenu entier de l'attribut.
Je ne suis pas sûr getxattr
o listxattr
s'appliquent à la ligne de commande. Elles semblent être réservées à un usage interne.
J'imagine que cela implique une sortie vers un fichier .tmp, puis une recherche dans le contenu de ce fichier ? Ou existe-t-il un argument d'une ligne que je puisse utiliser pour imprimer les résultats dans Terminal ?
Le contenu se présente comme suit json
format.