2016-06-07 15 views
1

also in der folgenden Zeichenfolge:Grep bestimmte Zeichen

"body":"MESSAGE" 

ich versuche nur das Wort MESSAGE zu extrahieren. Ich habe mit Grep herumgespielt, um es herauszufinden, aber ich kann jetzt nur den ersten Buchstaben M zum Ausdrucken bekommen.

Ich versuchte mit der obigen Aussage, aber kann nicht das ganze Wort Nachricht ohne Anführungszeichen getrennt zu bekommen. Dieser String MESSAGE ändert sich, also muss die grep-Anweisung nur den Text zwischen "body": "and" haben.

Jede Hilfe würde sehr geschätzt werden!

Antwort

1

Diese Arbeit sollte:

grep -oP '"body":"\K[^"]+' <<< '"body":"SOME MESSAGE"' 

SOME MESSAGE 
2

Es sieht aus wie Sie JSON bekam, in diesem Fall sollten Sie prüfen, jq mit:

jq -r '.body' file.json 

Beispiel:

% cat file.json 
{ 
    "body": "MESSAGE" 
} 
% jq -r '.body' file.json 
MESSAGE 
0

Sie verwenden sollten, der Schnitt stattdessen Befehl. Wenn sich Ihre Zeichenfolge in einer Datei befindet, können Sie Folgendes versuchen:

cat file.txt | cut d'"' -f4 
Verwandte Themen