各位朋友,我对这个命令有几个疑问:
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'
?
谢谢。