So habe ich diese json-Datei, die eine Ausgabe von einem frühen Befehl ist:Wie dieser speziellen Text/json extrahieren * nur * grep
{
"upload": {
"status": "INITIALIZED",
"contentType": "application/octet-stream",
"name": "mobile.apk",
"created": 1511111178.799,
"url": "https://amazonaws.com/arn%358%3Aproject%3A0030e-0a929/uploads/arn%3Aaws%3??/33bgb",
"type": "ANDROID_APP",
"arn": "arn:aws:devicefarm:us-west-2:588:upload:0000-aaa-bg01-11ab11/1feebbb-1a1a"
}
}
Ich mag den „arn“ Wert extrahieren, die Anführungszeichen einschließlich , so der Wert:
"arn:aws:devicefarm:us-west-2:588:upload:0000-aaa-bg01-11ab11/1feebbb-1a1a"
Sollte zurückgegeben werden. Ich brauche auch einen separaten Befehl auch die URL-Wert zu extrahieren, so dass die folgenden Anforderungen zurückgegeben werden:
"https://amazonaws.com/arn%358%3Aproject%3A0030e-0a929/uploads/arn%3Aaws%3??/33bgb"
Also muss ich 2 separate Befehle für diese Werte. Ich habe alle möglichen Kombinationen von Grep ausprobiert und ich habe noch nichts zu tun.
Ich möchte nur Grep für den Befehl verwenden, meine Situation wird nicht erlauben, irgendwelche Tools zu installieren.
Vielen Dank!
Verwenden Sie keine Textverarbeitungstools zum Verarbeiten des JSON-Streams. Verwenden Sie einen geeigneten Syntax-aware-Parser – Inian
Was ist mit Python? Ist es eingebaut? – Inian
In Ihrem Fall brauchen Sie nur 'awk'/arn:/{print $ 2; exit} 'jsonFile' oder 'awk'/arn:/{print $ 2; Beenden} 'jsonFile' – Inian