grep substring entre aspas

4

Digamos que eu tenha uma string como esta:

title="2010-09-11 11:22:45Z"

Como posso grep a data em si e desconsiderar as aspas / título / Z ?

O arquivo pode conter mais strings como:

randomstring
title="2010-09-11 11:22:45Z"
title="disregard me"

Portanto, desejo apenas grep timestamps com um único comando grep .

    
por polym 26.07.2014 / 20:16

4 respostas

10

Com GNU grep , você pode fazer:

$ echo 'title="2010-09-11 11:22:45Z"' | grep -oP 'title="\K[^"]+'
2010-09-11 11:22:45Z
    
por 26.07.2014 / 20:35
4
grep -oP '[0-9-]{10} [0-9:]{8}' filename
    
por 26.07.2014 / 21:47
3

Isso deve funcionar apenas na versão GNU de grep :

<file.html grep -oP "(?<=title\=\")\d+-\d+-\d+"

Exemplo em regex101 aqui .

    
por 26.07.2014 / 20:41
2

Se a entrada estiver neste formato apenas, o comando abaixo resolverá facilmente o seu problema

echo "title=\"2010-09-11 11:22:45Z\"| cut -d '"' -f2 
    
por 21.01.2017 / 16:30