我需要在Bash脚本中获取一些超级引用。
以下命令使用curl
和xmllint
来读取HTML页面的所有href
属性:
curl --silent -L google.com | xmllint --html --xpath '//a/@href' -
但我只需要属性的值。可以使用string()
函数选择属性的值。但是如果我使用它,我只得到属性列表的第一个元素:
curl --silent -L google.com | xmllint --html --xpath 'string(//a/@href)' -
如何将string()
函数应用于每个属性?
答案 0 :(得分:0)
你可以这样做(注意XPath表达式的不同之处):
curl --silent -L google.com | xmllint --html --xpath '//a/@*'
然后添加另一个管道以将输出发送到sed
,过滤掉属性名称以获取所需的值。但这是一种从文档中提取内容的奇怪方法。