试试这个 -
$ cat f
Link: <https://rnd.corp.zoom/api/v3/repositories/99/issues?state=all&per_page=100&page=2>; rel="next", <https://rnd.corp.zoom/api/v3/repositories/99/issues?state=all&per_page=100&page=8>; rel="last"
$ awk -F'[&=<>]' '{for(i=1;i<=NF;i++) if($i ~ /^page$/) {print $(i+1)}}' f
2
8
如果得到追加,那么你将使用获得的最后一个值低于awk:
$ awk -F'[&=<>]' '{for(i=1;i<=NF;i++) if($i ~ /^page$/) {kk=$(i+1)}} END{print kk}' ff
8
限制:目前你有网页= 2和页面= 8,上面的命令 将打印最后一页值。
如果你总是要打印第2个值"8"
(添加额外的行现有的网址,考虑到它将会不断增加,你总是需要第二个值则低于使用) -
$ cat f
Link: <https://rnd.corp.zoom/api/v3/repositories/99/issues?state=all&per_page=100&page=2>; rel="next", <https://rnd.corp.zoom/api/v3/repositories/99/issues?state=all&per_page=100&page=8>; rel="last"
<https://rnd.corp.zoom/api/v3/repositories/99/issues?state=all&per_page=100&page=8>; rel="last"
$ awk -v k=1 -F'[&=<>]' '{for(i=1;i<=NF;i++) if(($i ~ /^page$/) && (k==2)) {print $(i+1)} k++}' f
8
你有两个链接,第一个在'page = 2'结束,第二个在'page = 8'。你只想要其中之一还是两者? – ilkkachu
我只想要打印'page = 8'中的'8'。基本上我需要从代码中获取头部中的最后一页。 – NewLands