Rückgabecode von sed für keine Übereinstimmung

Ich bin mit sed für die Aktualisierung meiner json Konfigurations-Datei in der runtime.
Manchmal, wenn das Muster nicht entspricht, in der json-Datei, noch sed beendet sich mit return code 0.

Rückkehr " 0 " bedeutet erfolgreiche Ausführung an, aber warum macht sed gibt 0 zurück, wenn Sie es nicht finden, das richtige Muster und die Datei aktualisieren? Gibt es eine Abhilfe für?

Dank!

Kommentar zu dem Problem
Ja, so weit als sed ist besorgt, es Tat seinen job: er versucht, die Datei zu editieren. Es gibt einen Fehler-code, wenn die Datei nicht lesbar oder sowas ähnliches. Kurz gesagt, ich glaube nicht, dass sed ist das beste Werkzeug für die Entscheidung, auf ob ein pattern wird in eine Datei. Kommentarautor: cnicutar
@cnicutar viele Leute post als Kommentar beantworten, aber ich denke Sie setzen einfach die Antwort in den Kommentar-Bereich. und ich denke, der OP hat nicht nur wollen, um zu überprüfen, pattern match, er will etwas tun, wenn die Muster übereinstimmen.. wie /pat/s/foo/bar/... Kommentarautor: Kent
@Kent das ist, warum ich nicht posten eine Antwort. Ich habe erklärt, warum Sie die sed tut dies aber war nicht in der Lage, eine akzeptable Lösung. Alles, was ich denken konnte, beinhaltete das aufrufen einer separaten Befehl, bevor Sie die sed, um zu entscheiden, ob die Datei passt. Im Idealfall gibt es eine Lösung (vielleicht awk mit gsub ?) dass können dies tun, in einem Befehl. Kommentarautor: cnicutar
@cnicutar absolut vernünftig, ich habe nicht bemerkt, die "Abhilfe" - Anfrage..... kann ich diese Frage beantworten? gut, sicher, dass die Erklärung von Rückkehr-code Teil wäre die gleiche wie deine... Kommentarautor: Kent
@Kent mit allen Mitteln, postet bitte eine Antwort 🙂 Kommentarautor: cnicutar

InformationsquelleAutor der Frage bram | 2013-04-12

Schreibe einen Kommentar