1

コマンド ライン ツールの出力を解析しようとしています。XMLを直接出力しSTDOU、解析したい。

  • このツールは、次のような完全な XML ドキュメントを出力します。

ここに画像の説明を入力

私の目標は、その出力とタグ間の文字列のみを解析することです<date>が、ドキュメントには別の<date>タグが含まれている可能性があるため、後続の のみをチェックする必要<date>があります<key>SULastCheckTime</key>。(そして、そこに新しい行/スペースがあるという厄介な状況です)。

現在、次のコマンドでこの状況を解決しています。

tool... | grep -A1 '<key>SULastCheckTime</key>' | grep 'string.$' | sed -e 's,.*<date>\([^<]*\)</date>.*,\1,g'

正常に動作しますが、ご覧のとおり非常に面倒で、これ以上うまく書けないでしょうか? それを改善するのを手伝ってもらえますか?

ありがとうございました!

grepPS: OSX でこれを行っているため、新しい GNUオプションはありません。ちなみに、bash のバージョンは 3.2.48(1) です。そして... XML をより適切に解析するための他のツールをインストールする余裕はありません。

4

1 に答える 1