Die Unix-Umgebung verfügt über einige hervorragende Tools zum Parsen von Text in verschiedenen Formen. In letzter Zeit liegen die Daten jedoch nicht mehr in den traditionellen (historischen) Formaten (CSV, TSV, auf Datensätzen oder anderen Trennzeichen basierend) vor. Daten werden heutzutage in strukturierten Formaten wie XML / JSON ausgetauscht.
Ich weiß, dass es einige gute Tools wie sed, awk und Perl gibt, die fast jede Form von Daten da draußen kauen können. Um jedoch mit dieser Art von strukturierten Daten zu arbeiten, muss man oft ein komplettes Programm schreiben, und angesichts der geringen Zeit, die zum Extrahieren von Informationen zur Verfügung steht, muss man sich hinsetzen und die gesamte Logik dessen herausfinden, was man abfragen und setzen möchte es programmatisch nach unten. Manchmal ist dies nicht in Ordnung - im Grunde genommen, weil die aus diesen Dateien extrahierten Informationen als Eingaben für die weitere Arbeit dienen. auch wegen der Zeit, die benötigt wird, um nach der geeigneten Lösung zu suchen und sie zu codieren. Es wird ein Befehlszeilentool mit ausreichenden Schaltern zum Suchen, Abfragen und Speichern von Daten benötigt.
Ich suche nach Tools, die XML / JSON oder andere Formen strukturierter Daten in andere Formate wie CSV usw. kopieren, damit man von dort aus andere Befehle verwenden kann, um Informationen daraus zu erhalten.
Gibt es Kommandozeilen-Dienstprogramme, von denen Sie wissen, dass sie diese Art von Arbeit erledigen? Gibt es dafür bereits awk / Perl-Skripte?
quelle
jq
ist ein gutes Werkzeug zum Parsen von JSON in der Shell: stedolan.github.io/jqIch denke, Perl-, Python- oder Ruby-Module können dafür erfolgreich eingesetzt werden. Und jedes davon kann für die Skripterstellung verwendet werden.
quelle
ruby -e 'program text'
, ein Skript zu schreiben?perl -0777 -MJSON -e '$t=from_json(<STDIN>); do_something_with($t)'
können Sie JSON mit einem Minimum an Aufwand zu verarbeiten. Sie müssen dem Computer immer noch sagen, was er mit den Daten tun soll.