Recuperar string entre duas strings

0

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.

    
por estonolose 11.02.2016 / 20:54

2 respostas

2

Adicione um ? após * para mudar para não ganancioso.

    
por 11.02.2016 / 21:01
0

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 ~]#
    
por 11.02.2016 / 21:05

Tags