Tengo un archivo al que una aplicación le ha puesto atributos extendidos.
$ 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":[]}
He probado varias formas de obtener el valor de @type
dentro del atributo, pero no he encontrado la manera de buscar en varios archivos y buscar y devolver esos valores.
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":[]}
Quiero encontrar todos los archivos .srt y grep
para el valor de @type
. En los resultados anteriores, el comando devolvería "Película".
$ find . -iname "*.srt" | while read -r file; do `xattr -l "$file" | grep "Type" >> /Users/john/Desktop/filebotmeta1.txt` ; done
Eso me da un documento de texto con este contenido:
net.filebot.metadata: {"@type":"Movie","year":1983,"imdbId":85478,"tmdbId":38291,"language":"en","id":38291,"name":"Educating Rita","aliasNames":[]}
Pero quiero volver @type
y su valor no el contenido completo del atributo.
No estoy seguro getxattr
o listxattr
se aplican a la línea de comandos. Parece que sólo son para uso interno.
Me imagino que esto implica la salida a un archivo .tmp y luego grepping el contenido del archivo? O, ¿hay un argumento de una línea que puedo utilizar para imprimir los resultados en la Terminal?
El contenido es el siguiente json
formato.