Usando a classe de caracteres para formatar uma lista de números em um formato de CEP

Usando a classe de caracteres para formatar uma lista de números em um formato de CEP

Tentei formatar uma lista de números para um formato de CEP (cinco dígitos). Eu usei o sedutilitário para fazer isso. Digamos que file.txtcontém "23232334", "3434654", "33532", "94607". No meu roteiro, escrevi:

sed -n '/^[0-9] [0-9] [0-9] [0-9] [0-9]$/p' file.txt

mas não funcionou.

Eu também tentei

sed -n '/^[[:digit:]] [[:digit:]] [[:digit:]] [[:digit:]] [[:digit:]]$/p' file.txt

Pelo meu entendimento das classes de personagens, essas etapas devem funcionar, mas não sei por que não estou obtendo nenhum resultado.

Por favor ajude

Obrigado

Responder1

Existem muitos motivos pelos quais seus comandos não funcionam. Primeiro de tudo você tem espaços entre os números e sedprocura dígitos separados por espaços. Segundo, quando você escreve ^e $exige que o número de cinco dígitos ocupe toda a linha, dos quatro números do seu exemplo, apenas os dois últimos passarão no teste. É isso que você quer?

informação relacionada