sed -n 's/.*[^0-9]\([0-9]\+ ms\).*//p' *.log
Um possível refinamento para versões de sed
que suportam esse tipo de alternância:
sed -n 's/\(^\|.*[^0-9]\)\([0-9]\+ ms\).*//p' *.log
No OS X, precisei usar expressões regulares estendidas porque não conseguia usar expressões regulares aprimoradas básicas para funcionar (isso também funcionaria no GNU sed
, se você alterar -E
para -r
, mas a versão básica aprimorada também funciona lá:
sed -En 's/(^|.*[^0-9])([0-9]+ ms).*//p' *.log
Esses dois últimos exemplos funcionam mesmo se a sequência que você está procurando aparecer no início da linha sem caracteres principais.