我遇到了一个问题,我应该只显示页面转储中票数 >= 1 的命令http://www.commandlinefu.com使用 Unix 命令。我在链接中附加了文件的一部分:https://pastebin.com/4dEQD5us。投票和命令用以下 html 标签表示:
div 类=“票数” div 类=“命令”
我尝试使用 grep 选择命令和投票标签。但我不知道如何设置条件才能得到想要的答案。
答案1
在底部这一页,有一个链接到他们的应用程序编程接口。阅读和理解告诉您,要以适合解析的格式(例如 JSON)获取数据,您可以使用,例如
curl -s 'https://www.commandlinefu.com/commands/browse/json'
这是一个 JSON 文档,您可以使用以下命令轻松地从中提取投票数大于零的命令jq
:
curl -s 'https://www.commandlinefu.com/commands/browse/json' |
jq -r '.[] | select(.votes|tonumber > 0).command'
我们需要将.votes
顶级数组中的每个条目转换为数字,因为它在数据中被编码为字符串。这就是为什么我们tonumber
在将其与零进行比较之前将其传递。