Missverständnisse bezüglich der Anschlussverrohrung

Missverständnisse bezüglich der Anschlussverrohrung

Leute, ich habe ein paar Fragen zu diesem Befehl:

 echo 'cat //item/*[local-name()="id"]/text()' | xmllint --shell test.xml | sed '1 d;$ d;/^ -------$/ d' | sort | uniq --repeated

Ich dachte, die Befehlsweiterleitung funktioniert von links nach rechts. Mich verwirrt, dass der catBefehl für nichts verwendet wird ( catder Befehl, den ich gesehen habe, wird normalerweise mit einem Dateibeispiel verwendet cat test.xml).

Außerdem bin ich mir nicht ganz sicher, was das cat //item/*[local-name()="id"]/text()macht. Kann mir das jemand erklären? Ich weiß, dass es im Grunde ein Cat gegen ein XPath-Muster macht, aber es sieht verwirrend aus, insbesondere mit den anderen Pipes, und der XPath geht gegen nichts (noch einmal, es wird normalerweise mit einer Datei wie XML, HTML usw. verwendet).

Ich bin im Grunde neu bei sedCommand, könnte mir auch jemand erklären, was das bedeutet sed '1 d;$ d;/^ -------$/ d'.

Danke.

verwandte Informationen