web-dev-qa-db-ja.com

コマンドラインユーティリティを使用したUNIXでのXML、JSON、および新しいデータファイル形式の解析

Unix環境には、さまざまな形式のテキストを解析するための優れたツールがいくつかあります。ただし、最近では、データは以前の従来の(履歴)形式(CSV、TSV、レコードベースまたはその他の区切り文字ベース)ではありません。最近のデータは、XML/JSONのような構造化された形式で交換されています。

Sed、awk、Perlのような、ほぼすべての形式のデータをかみ砕くことができる優れたツールがあることを私は知っています。ただし、この種の構造化データを処理するには、多くの場合、完全なプログラムを作成する必要があり、情報を抽出するために利用できる時間が少ないため、座って、クエリを実行して配置したいもののロジック全体を理解する必要があります。プログラムでダウンします。基本的に、これらのファイルから抽出された情報がさらなる作業の入力として機能するため、これが問題になる場合があります。また、適切なソリューションを検索してコード化するのに時間がかかるためです。データの検索、クエリ、ダンプを行うのに十分なスイッチを備えたコマンドラインツールが必要です。

XML/JSONまたは他の形式の構造化データを取得し、それをcsvなどの他の形式にダンプして、そこから他のコマンドを使用して情報を取得できるツールを探しています。

この種の仕事をするコマンドラインユーティリティはありますか?これに利用できるawk/Perlスクリプトはすでにありますか?

9
kamaal

xmlには http://xmlstar.sourceforge.net/ があります

XMLStarletは、UNIXのgrep、sed、 awk、diff、patch、joinなどのコマンド。

xsltprocおよび同様のツール(saxon)を使用することもできます。

jsonの場合:Python、Ruby、Perlを使用して変換する方が良いと思います。

5
akira

Perl、PythonまたはRubyモジュールはそのために正常に使用できます。そして、これらのいずれもスクリプトに使用できます。

4
alex