Unix環境には、さまざまな形式のテキストを解析するいくつかの優れたツールがあります。しかし、最近では、データは以前のように従来の(記録)形式(CSV、TSV、レコードベース、またはその他の区切り文字ベースの形式)ではありません。今日、データはXML / JSONなどの構造化形式で交換されています。
私はほとんどすべての形式のデータを処理できるsed、awk、Perlなどの素晴らしいツールがあることを知っています。ただし、この構造化データを処理するには通常、プログラム全体を作成する必要があり、情報を抽出するのに時間がかかりすぎるため、座って照会したいコンテンツのロジック全体を把握して配置する必要があります。プログラム的にオフになります。時にはこれはできません。これは主にこれらのファイルから抽出された情報が追加の操作の入力として使用されるためですが、適切なソリューションを検索してエンコードするのに時間がかかるためです。データを検索、クエリ、およびダンプするには、十分なスイッチを備えたコマンドラインツールが必要です。
私はXML / JSONまたは他の形式の構造化データをインポートしてcsvなどの他の形式にダンプし、そこから別のコマンドを使用して情報を取得できるツールを探しています。
この種のタスクを実行できるコマンドラインユーティリティがあるかどうかをご存知ですか?すでに利用可能なawk / Perlスクリプトはありますか?
答え1
XMLの場合http://xmlstar.sourceforge.net/
XMLStarlet は、UNIX grep、sed、awk、diff と同様に、単純なシェルコマンドセットを使用して XML ドキュメントとファイルを変換、クエリ、検証、および編集するために使用できる一連のコマンドラインユーティリティです。パッチ、購読注文を待ちます。
xsltproc
同様のツール()を使用することもできますsaxon
。
jsonの場合:Python、Ruby、Perlを使用して変換する方が良いと思います。
答え2
私の考えでは、Perl、Python、またはRubyモジュールがこの目的にうまく使用できると思います。これらのいずれかをスクリプトに使用できます。