jq : comment remplacer sub par mgsub et conversion de caractères
Bonjour,
J'ai fait un script qui permet d'extraire du texte d'images mais je n'arrive pas à faire 2 choses :
1 - Je remplace les retours à la ligne par un espace mais j'ai plusieurs chaines à remplacer (disons "a" par "b", "c" par "d" et "e" par "f"). J'ai essayé avec mgsub sans succès mais je pense que je m'y prend mal. Serait-ce possible de m'aider ? L'idéal serait un tableau en début de script.
2 - Dans mon fichier de sortie "response.txt", les caractères comme "é" et "à" sont "É" and À (je crois que c'est en iso et non en utf-8). Comment les convertir ?
Voici mon script :
```
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| #!/bin/bash
IFS=$'\n'
file=/home/freebox/input.txt
lines=$(cat ${file})
for line in ${lines}; do
curl -X POST \
-H "Content-Type: application/json; charset=utf-8" \
--data "{
'requests': [
{
'image': {
'source': {
'imageUri': '${line}'
}
},
'features': [
{
'type': 'TEXT_DETECTION'
}
]
}
]
}" "https://vision.googleapis.com/v1/images:annotate?key=mykey" | jq -r '.responses[0].textAnnotations[0].description | gsub("[\n]"; " ") | ascii_downcase' > cat >> response.txt
done
IFS=""
exit ${?} |
Merci pour votre aide :)