Estou tentando obter uma string de alteração espacial de um site. Usei o comando:
wget -qO - www.factorio.com/download | grep '/get-download
a saída é:
wget -qO - www.factorio.com/download | grep '/get-download'
<p>If you are running a server, you can use <a href="https://factorio.com/get-download/stable/headless/linux64">this link</a> to always download the latest stable version.
<a href="/get-download/1.1.110/headless/linux64"
<a href="/get-download/1.1.110/demo/win64-manual"
<a href="/get-download/1.1.110/demo/win64"
<a href="/get-download/1.1.110/demo/osx"
<a href="/get-download/1.1.110/demo/linux64"
Preciso obter o 1.1.110 da linha:
<a href="/get-download/1.1.110/headless/linux64"
pode ser maior e menor, mas /get-download/XXXXX/headless/linux64
é fixo.
grep
não é a ferramenta correta para extrair informações de HTML/XML, mas é suficiente no seu caso.Isto corresponde a textos que começam com
/get-download/
e então contêm algo parecido com um número de versão baseado em números e pontos.uniq
é necessário, porque várias linhas de versão serão retornadas. O-o
sinalizador permitegrep
retornar apenas correspondências e<?=
descartará odownload
texto após a correspondência.Este é o resultado:
1.1.110
Usando qualquer versão de
sed
:ou qualquer versão de
grep
ecut
:ou GNU
awk
para o 3º argumento paramatch()
: