Shell: Extrair os números do CPF formatado

O tr é um comando muito versátil, especialmente útil para apagar caracteres indesejados.

Digamos que você peça ao usuário para digitar o número do CPF. Esse número poderá vir das mais diferentes formas, com espaços, hífens, pontos, ponto-e-vírgula e sabe mais o que que a criatividade da pessoa pode produzir.

Para preservar sua sanidade, tudo o que você quer são os números, ignorando toda a pontuação, espaços e outros caracteres. Com o tr é fácil.

$ echo 123.456.789-00 | tr -d 0-9
..-

A opção -d apaga coisas e o 0-9 representa os números de zero a nove. Ah, note que não é necessário o uso de colchetes ao redor “[0-9]”, como muita gente costuma fazer.

Mas este comando apagou os números e deixou a pontuação, quando o desejado é o justamente o contrário. Então basta usar a opção -c, que inverte o sentido da expressão, fazendo o tr apagar tudo exceto os números:

$ echo 123.456.789-00 | tr -c -d 0-9
12345678900
This entry was posted in Shell and tagged , , , , , . Bookmark the permalink.

2 Responses to Shell: Extrair os números do CPF formatado

  1. Danilo says:

    Fala Aurélio! Excelente dica, já está anotada.

    Abraço,

    Danilo (aka ‘danpos’)

  2. Um bom numero pode ser somado ou apagado para bons fins.

Leave a Reply

Your email address will not be published. Required fields are marked *