このようなxmlファイルから複数の「ディレクター」を抽出し、それらをパイプで区切って連結するbashスクリプト、つまりTom Tykwer | Andy Wachowskiを作成しようとしています。
関連する xml セクションは次のとおりです。
<directors>
<item>Tom Tykwer</item>
<item>Andy Wachowski</item>
</directors>
bash スクリプトで xmlstarlet を使用して、次のコマンドを実行します。
DIRECTORS=$(xmlstarlet sel -t -v "imdbdocument/directors/item" mymoviexml)
echo $DIRECTORS
ください
Tom Tykwer Andy Wachowski
そしてこのコマンドを端末で直接
xmlstarlet sel -t -v "imdbdocument/directors/item" mymovieapi.xml
私に与えます:
(empty line)
Tom Tykwer
Andy Wachowski
-n オプションを指定していないのに、なぜ新しい行が追加されるのかわかりません。
私の検索のいくつかは、次のようなものを示唆しています:
xmlstarlet sel -t -m "imdbdocument/directors" -v "item" -o "|" mymovieapi.xml
しかし、これは私に与えます:
Tom Tykwer
Andy Wachowski|
私が得ることができる助けをいただければ幸いです。Debian Wheezy の xmlstarlet 1.3.1 と Xubuntu 13.10 の xmlstarlet 1.5.0 でこの動作が見られます。