Donc, j'ai un fichier JSON qui ressemble à ceci;
data {...}
data {...}
3 Réponses :
Comme d'autres suggéraient que vous devriez vraiment utiliser JQ code> outil pour analyse le format JSON. Toutefois, si vous n'avez pas accès à l'outil et / ou si vous ne pouvez pas l'installer, ci-dessous un moyen très simple de traiter le JSON comme texte brut (non recommandé) et produisant la sortie souhaitée: grep "\"data\":" json_file | tr -d \"
Vous pouvez utiliser très simplement Par exemple avec vos données: P> awk code> avec le séparateur de champ de "{" code> et la longueur du code code> et longueur (2 $) - 1 code> pour couper la fermeture "}" code>. $ while read -r line; do
> [[ $line =~ ^\ *\"data\" ]] && {
> line="${line#*\{}"
> line="${line%\}*}"
> echo $line
> }
> done <json
stuff that i need
more stuff that i need
Avec l'entrée donnée, vous pouvez utiliser
sed -rn 's/.*"(data)": (.*)/\1 \2/p' inputfile
Qu'avez-vous essayé? Avez-vous pris un coup d'oeil à
JQ code>?Comme @poshi a dit, utilisez
JQ code>. Cette vidéo a une excellente explication sur la façon d'utiliserJQ code>: YouTube.com / regarder? v = evpwweih0u