コマンド ライン ツールの出力を解析しようとしています。XMLを直接出力しSTDOU
、解析したい。
- このツールは、次のような完全な XML ドキュメントを出力します。
私の目標は、その出力とタグ間の文字列のみを解析することです<date>
が、ドキュメントには別の<date>
タグが含まれている可能性があるため、後続の のみをチェックする必要<date>
があります<key>SULastCheckTime</key>
。(そして、そこに新しい行/スペースがあるという厄介な状況です)。
現在、次のコマンドでこの状況を解決しています。
tool... | grep -A1 '<key>SULastCheckTime</key>' | grep 'string.$' | sed -e 's,.*<date>\([^<]*\)</date>.*,\1,g'
正常に動作しますが、ご覧のとおり非常に面倒で、これ以上うまく書けないでしょうか? それを改善するのを手伝ってもらえますか?
ありがとうございました!
grep
PS: OSX でこれを行っているため、新しい GNUオプションはありません。ちなみに、bash のバージョンは 3.2.48(1) です。そして... XML をより適切に解析するための他のツールをインストールする余裕はありません。