端末配管の誤解

端末配管の誤解

皆さん、このコマンドに関していくつか質問があります:

 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'

ありがとう。

関連情報