試試這個 -
$ 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