macOS 10.14.6
zsh 5.8
jq 1.6
J'ai une situation où j'ai un tas de .vital
qui sont des fichiers JSON déguisés. Je veux extraire un élément d'information de chaque fichier, et j'ai découvert qu'après avoir installé jq à l'aide de brew install jq
je peux courir, par exemple...
jq '.author' Analog_Bass__Lead.vital;
Cela me donne...
"maniclout"
qui est l'auteur correct pour cet élément.
Ce que j'aimerais faire, c'est lancer cette commande sur tous mes .vital
fichiers, environ 30, dans un for
boucle.
Je peux lister les fichiers sans problème en utilisant...
for f in $(ls *.vital);
do
echo $f
done;
Le problème survient lorsque j'essaie de construire une boucle qui donnerait ce qui suit...
Analog_Bass__Lead.vital "maniclout"
Blackhole_Dimension.vital "Cobranix"
et ainsi de suite...
Voici ma dernière tentative (s'il vous plaît, ne riez pas !)...
for f in $(ls *.vital);
do
echo $f;
echo -n $f | jq ‘.author’
done;
Comme vous pouvez le constater, j'essaie d'imprimer le nom du fichier, suivi de, sur la même ligne, d'où l'utilisation de l'option -n
et j'essaie d'envoyer le nom du fichier dans le fichier de données de l'application jq
commandement.
Les résultats sont assez désastreux !
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
Quelqu'un peut-il voir ce que je fais mal ?