我一直在互联网上搜寻某种线索,但无济于事。我需要一个 sed/awk/grep 命令来解析一些文本。文字太大,无法在此处发布,但如果您运行
curl -l "https://aur.archlinux.org/rpc.php?type=search&arg=wine"
你会明白我的意思。基本上,我只需要显示搜索中返回的所有内容的版本号。如果您能向我解释 sed/awk/grep 语法,将不胜感激。
回馈给您的是 JSON 结构。你不解析它,你编写一个程序来做它。
这不是 sed、awk 或 grep 能够做到的。您需要用 Perl 之类的语言编写一个使用 JSON Perl 模块的程序。每种语言都有一个模块来解析 JSON 并将其放入该语言的数组或结构格式中。
如果我要从 shell 中的文本中提取内容,我会首先考虑 grep。
grep -oP '(?<="[vV]ersion":")[^"]*'
这将为您提供所有版本。(输出中只有版本/版本信息)
在您的情况下,您可能想尝试一下:
curl -l "https://aur.archlinux.org/rpc.php?type=search&arg=wine"|grep -oP '(?<="[vV]ersion":")[^"]*'