2016-12-11 2 views
-1

Ich möchte einige unbekannte Werte in einem Verzeichnis von Binärdateien ersetzen. Einige, aber jetzt enthalten alle Dateien in dem Verzeichnis (mitten durch eine Zeile) etwas wie das Folgende.Ersetzen Sie einen unbekannten numerischen Wert in der Binärdatei in der Befehlszeile

"myValue": "65"

ich sie alle zu etwas in der Lage sein möchten, wie

"myValue" zu ändern: "57"

Ich weiß nicht, die Anfangswert, wie es in jeder Datei anders ist, aber ich möchte, dass sie alle gleich sind. Ich denke, ich werde sed mit Regex brauchen, aber ich bin absolut nutzlos mit regulären Ausdrücken.

+0

nicht auf binäre Dateien sed verwenden. Er fügt eine neue Zeile an, wenn noch keine vorhanden ist. – jthill

+0

@jthill Freies BSD sed tut. Aber GNU sed nicht. – andlrc

Antwort

0

hier, wie:

cd directory 
gsed -i 's/"myValue":"[0-9]\+"/"myValue":"57"/g' * 

(folgende jthill des & andlrc Kommentare, ich benutze gsed statt sed.)

+1

Vielen Dank, das ist unglaublich nützlich – kev51773

+0

Gern geschehen :) – webb

Verwandte Themen