Adicione um ?
após *
para mudar para não ganancioso.
Estou tentando extrair uma substring no meio de duas strings. Eu executo este comando grep:
echo "http://www.miweb.es/midoc-87-documento-texto_mf_4150310_1.txt" | grep -Po "(?<=midoc-).*(?=-)"
Result
87-documento
Mas eu só quero obter "87" e não "87-documento".
Obrigado.
Tente isso:
echo "http://www.miweb.es/midoc-87-documento-texto_mf_4150310_1.txt" | grep -Po "(?<=midoc-).."
Eu tenho isso como resultado:
[root@tomcat7test ~]# echo "http://www.miweb.es/midoc-87-documento-texto_mf_4150310_1.txt" | grep -Po "(?<=midoc-).."
87
[root@tomcat7test ~]#