あなたは、このためにはgrepを使用したいと思い、なぜそれができる一方で、私は、見ることができません簡単なXPath式で解く:
//title/text()
XPath用のコマンドラインツールは多くあり、通常はOSにバンドルされています。
this question on Stack Overflowには、このようなツールが多数掲載されています。
grep
の問題は、テキスト処理用の汎用ツールであり、XML構造を認識していないことです。非常に単純なシナリオでは、get it workingとすることができます。文書が複雑な場合や、1か月の仕事だけでなく数か年も生き残るスクリプトでこれを使用している場合は、結果を残念に感じるかもしれません。
XPathを使用すると、ドキュメント内のさまざまなコンテキストで表示される同様の名前のタグの違いを簡単に知ることができます。あなたはここに掲載他の答えのいずれかを使用した場合に失敗するgrep
でこの文書によって表される記事のタイトルを抽出
<article>
<author>
<name>Jon Doe</name>
<title>Chief Editor</title>
</author>
<title>On the Benefits of grep</title>
<publicationDate>2018-02-12</publicationDate>
<text>blah blah blah</text>
</article>
。あなたは技術的に正規表現を書いて、必要なものを得ることができますが、XPathではそれがずっと簡単です。
/article/title/text()
あなたは些細な文書を扱っているとフォーマットが変更されないか、それはあなたがすぐに結果を確認することができます1時間の仕事だ場合は他の人が説明したように、あなたがgrep
のために行くことができます知っている場合。
で提案されているようにあなたは、XPathを使用してxgrepインストールすることができますか? – toniedzwiedz
これはすばやいスクリプト作成の仕事でなければならない、私はそれに年齢を過ごしたくない。良いxpathコマンドラインツールをお勧めしますか? – Filype
私はすでにxpath5.12がインストールされているようです。ただし、手動入力はありません。 – Filype