Com GNU grep
, você pode fazer:
$ echo 'title="2010-09-11 11:22:45Z"' | grep -oP 'title="\K[^"]+'
2010-09-11 11:22:45Z
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
.
grep -oP '[0-9-]{10} [0-9:]{8}' filename
Isso deve funcionar apenas na versão GNU de grep
:
<file.html grep -oP "(?<=title\=\")\d+-\d+-\d+"
Exemplo em regex101 aqui .
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