当我尝试此命令时:
/usr/bin/curl -s sketch*.zip "https://www.sketch.com/downloads/mac/" |\
grep 'download.sketchapp.com/sketch-' | awk 'NR==1{print $3}'
输出为:
content="0;URL='https://download.sketchapp.com/sketch-68.2-102594.zip
我想要得到的是:
68.2
任何帮助将不胜感激。
答案 0 :(得分:0)
似乎您想仅在第一行插入行中提取出模式后的数字。您可以使用一个grep
命令:
... | grep -oPm1 '(?<=download.sketchapp.com/sketch-)[^-]+' file
或者这是您想要的第一个curl
输出行的第三个字段,因此您可以使用一个awk命令(使用连字符作为分隔符的拆分字段来排列并在中间打印元素):
awk '/download.sketchapp.com/sketch-/ && NR==1 {split($3,a,"-"); print a[2]; exit}'
答案 1 :(得分:0)
使用sed:
/usr/bin/curl -s sketch*.zip "https://www.sketch.com/downloads/mac/" | \
sed -n 's!.*download.sketchapp.com/sketch-\([^-]*\).*!\1!p;' | \
head -1
head是为了摆脱多次比赛。 sed命令提取download.sketchapp.com/sketch-
之后的非连字符。