Hallo Ich bin der unterhalb des Inhalts in einer Datei verwenden, möchte ich den Wert von shortversion gedruckt werden,Suche nach ersten Vorkommen eines Strings und auszudrucken, um den Wert in Linux
{
"app_versions": [
{
"version": "15",
"shortversion": "0.0.15",
"title": "java expert",
"timestamp": 1469530069,
"appsize": 3436229,
"notes": ,
"mandatory": false,
"external": false,
"device_family": null,
"id": 9,
"app_id": 356250,
"minimum_os_version": "4.1",
,
{
"version": "7",
"shortversion": "0.0.7",
"title": "java expert",
"timestamp": 1469528889,
"appsize": 3436225,
,
{
"version": "3",
"shortversion": "0.0.3",
"title": "javaExpert",
"timestamp": 1469209202,
"appsize": 3420965,
Wie kann ich den Wert drucken des ersten Vorkommens der kurzen Version, die sed verwendet, habe ich den folgenden awk Befehl verwendet, um die shortversion zu erhalten awk -F'"' '/\"shortversion\"/{print $10;}'
read.version dieser Befehl erzeugt Ausgabe von 0.0.15
, die korrekt ist, aber die Akte wird dynamisch erzeugt, benötigt Ihre wertvolle Hilfe auf diesem
formatieren Sie bitte Ihre Frage: http://StackOverflow.com/Editing-Help – Sundeep
Warum muss es mit Sed sein Warum wird "die Datei dynamisch generiert?" Das von Ihnen gepostete awk-Skript wird nicht die Ausgabe produzieren, die Sie angeben n die Eingabe, die Sie gepostet haben - [Bearbeiten] Ihre Frage, um in sich genau und konsistent zu sein. –
Ich denke, die Bearbeitung sollte umgekehrt werden, und bis OP bestätigt, dass die Eingabe tatsächlich in separaten Zeilen bereitgestellt wird. Der ursprüngliche Post impliziert, dass die Eingabe auf einer langen Zeile bereitgestellt wird (daher die Verwendung von $ 10). – jas