xmlstarlet を使用して一致する XPath を印刷しますか?

xmlstarlet を使用して一致する XPath を印刷しますか?

多数のxmlファイルを反復処理して、古い構成エントリを修正し、すべての一致を取得し、2番目のステップですべてのエントリを更新された文字列(この場合は複数行のスクリプト)に置き換えたいと思います。たとえば、XPathを使用して要素の値をクエリ/選択して印刷する方法は知っていますxmlstarlet

xmlstarlet sel -t -v '//hudson.tasks.Shell/command' $xml

または、XPathをすべてリストする方法

xmlstarlet el -a $xml

有効なリストを出力する方法はありますか?XPaths後でこの XPath 文字列を使用して 2 番目のステップで値を更新するためのすべての一致の式ですか? 例:

maven2-moduleset/postbuilders/hudson.tasks.Shell[1]/command
maven2-moduleset/postbuilders/hudson.tasks.Shell[2]/command

今のところ私が見つけた唯一の解決策は、出力からパスを数えel、それらをインデックスでループすること (bash を使用) でした。

関連情報