macOS 10.14.6
zsh 5.8
jq 1.6
Tengo una situación en la que tengo un montón de .vital
que son archivos JSON disfrazados. Quiero extraer una información de cada archivo, y he averiguado que después de instalar jq usando brew install jq
Puedo correr, por ejemplo...
jq '.author' Analog_Bass__Lead.vital;
Esto me da...
"maniclout"
que es el autor correcto para ese artículo.
Lo que me gustaría hacer es ejecutar este comando sobre todos mis .vital
archivos, unos 30, en un for
bucle.
Puedo listar los archivos bien usando...
for f in $(ls *.vital);
do
echo $f
done;
El problema viene cuando intento construir un bucle que dé lo siguiente...
Analog_Bass__Lead.vital "maniclout"
Blackhole_Dimension.vital "Cobranix"
y así sucesivamente...
Este es mi último intento (¡por favor, no se rían!)...
for f in $(ls *.vital);
do
echo $f;
echo -n $f | jq ‘.author’
done;
Como puedes ver, estoy intentando imprimir el nombre del archivo, seguido de, en la misma línea, de ahí el -n
y estoy tratando de canalizar el nombre del archivo en el jq
comando.
Los resultados son bastante desastrosos.
ANALOG_PAD_-_6.vital
jq: error: syntax error, unexpected INVALID_CHARACTER, expecting $end (Unix shell quoting issues?) at <top-level>, line 1:
‘.author’
jq: 1 compile error
Analog_Bass__Lead.vital
jq: error: syntax error, unexpected INVALID_CHARACTER, expecting $end (Unix shell quoting issues?) at <top-level>, line 1:
‘.author’
jq: 1 compile error
Atomosphere_Lead.vital
jq: error: syntax error, unexpected INVALID_CHARACTER, expecting $end (Unix shell quoting issues?) at <top-level>, line 1:
‘.author’
jq: 1 compile error
¿Alguien puede ver lo que estoy haciendo mal?