2016-04-29 10 views
-1

Ich habe ein Verzeichnis, das viele Unterverzeichnisse und Dutzende von JSON-Dateien enthält. An diesem Punkt, wenn ich den Wert eines bestimmten Schlüssels ändern muss, ist es sehr zeitaufwendig. Wenn ich sagen möchte, dass der String-Wert eines gegebenen Schlüssels für alle diese Dateien gleichzeitig geändert werden soll, könnte dies in BASH geschehen? Wenn nicht ein Shell-Skript, als in Python, Ruby oder einer Skriptsprache? Gibt es darüber hinaus bereits vorhandene Tools für Batch-Edits wie diese?Batch-Prozess-Verzeichnis von JSON-Dateien mit BASH/Skriptsprache /?

Antwort

1

Bash ist einfach nicht geeignet, um JSONs zu bearbeiten - wahrscheinlich müssen Sie Regexes verwenden, und die Verwendung von Regexes für JSON ist albern (vor allem, da Bash Regexes sehr begrenzt sind). Das gleiche gilt für Werkzeuge wie sed oder awk. Python, Ruby und Perl können Informationen extrahieren und JSON editieren, aber sie mit der Kommandozeile für die manuelle One-Shot-Bearbeitung zu verwenden ist ziemlich ineffektiv (viel weniger als Bash).

Ich glaube, was Sie suchen, ist ein Befehlszeilenprogramm jq, das nur für den Zweck gemacht wurde, den Sie beschrieben haben. Schauen Sie sich its tutorial an.