Назад | Перейти на главную страницу

Непонимание клеммной обвязки

Ребята, у меня есть несколько вопросов по этой команде:

 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, но это выглядит сбивающим с толку, особенно с другими каналами, а XPath ни с чем не идет (опять же, он обычно используется с такими файлами, как xml, html и т. Д.).

Я в основном новичок в sed команда, может ли кто-нибудь также объяснить, что это означает sed '1 d;$ d;/^ -------$/ d'.

Спасибо.