sed
parece ser a tarefa certa para isso:
% sed -n 's/.* \(iwantthis\) .* \(url=[^ ]*\) .*/ /p' url.txt
iwantthis url=https://www.google.com
iwantthis url=yahoo.com
Como isso funciona:
-n
- apenas as linhas de impressão que correspondem a um comando "p"
s/.../p
- pesquise e substitua, imprimindo linhas que correspondam
.* \(iwantthis\) .* \(url=[^ ]*\) .*
- Isto irá procurar a palavra "iwantthis" rodeada por espaços e lembrá-la, e também procurar por "url=" seguido por não-espaços, e lembrar disso. O .*
em cada final significa que as coisas antes de "iwantthis" e coisas depois da URL são descartadas.
/
- Substitua pelas duas palavras lembradas