
皆さん、このコマンドに関していくつか質問があります:
echo 'cat //item/*[local-name()="id"]/text()' | xmllint --shell test.xml | sed '1 d;$ d;/^ -------$/ d' | sort | uniq --repeated
コマンド パイプは左から右に機能すると思っていました。cat
コマンドが何も使用されていないことに困惑しています (cat
私が見たコマンドは通常、ファイルと一緒に使用されます、例: cat test.xml
)。
また、何が行われているのかよくわかりませんcat //item/*[local-name()="id"]/text()
。誰か説明してもらえますか? 基本的には XPath パターンに対して cat を実行していることはわかっていますが、特に他のパイプと組み合わせると混乱し、XPath は何も実行されていません (繰り返しますが、通常は xml、html などのファイルで使用されます)。
私は基本的にコマンド初心者なのでsed
、これが何を意味するのか誰か説明してもらえますかsed '1 d;$ d;/^ -------$/ d'
。
ありがとう。