Acho que isso deve ser feito:
grep -E '([5-9][0-9]{3}|[0-9]{5,})ms' | grep -v 5000ms
Como funciona?
- Ele usa
-E, então o regex é do formato "moderno" (também chamado de estendido). Isso torna a digitação mais fácil no nosso caso, já que podemos salvar alguns\chars. - O
(...|...)msprocura duas alternativas seguidas pela stringms. Isso é necessário porque regex não pode comparar números, então eu não posso dizer algo como>= 5000. - A primeira alternativa é
[5-9][0-9]{3}, que corresponderá a qualquer string que comece com um número de 5 a 9 seguido por 3 ocorrências de números de 0 a 9. Esses são todos os números > = 5000 e < 10000. - A segunda alternativa corresponderá a uma string de 5 ou mais dígitos, ou seja, qualquer número > = 10000.
- No final, enviamos o resultado para
grep -v 5000mspara filtrar qualquer ocorrência de5000msporque você disse maior que 5000. Se quiser maior ou igual, deixe isso de lado.
Onde aprender mais?
Leia man 1 grep e man 7 regex .