catbean.pages.dev

Como normalizar CEP em arquivo CSV usando SED no Linux?

Normalizar CEPs em um arquivo CSV pode ser uma tarefa tediosa e propensa a erros se feita manualmente. Felizmente, o SED (Stream Editor) no Linux oferece uma solução rápida e eficiente para padronizar formatos de CEP, removendo caracteres indesejados e garantindo consistência nos dados.

Pré-requisitos

Passo 1: Identificar o formato atual dos CEPs

Antes de aplicar qualquer comando, é importante verificar como os CEPs estão formatados no seu arquivo CSV. Abra o arquivo com um editor de texto ou use o comando head para visualizar as primeiras linhas:

head -n 5 arquivo.csv

Passo 2: Aplicar comando SED para remover caracteres não numéricos

O comando SED abaixo remove todos os caracteres que não são dígitos dos CEPs, deixando apenas os números. Isso é útil para padronizar CEPs que podem estar com pontos, hífens ou espaços:

sed -i 's/[^0-9]//g' arquivo.csv

Este comando modifica o arquivo original (-i). Se preferir criar uma cópia, remova a opção -i e redirecione a saída para um novo arquivo.

Passo 3: (Opcional) Reformatar CEPs para o padrão 00000-000

Se desejar reformatar os CEPs para o padrão brasileiro (cinco dígitos, hífen, três dígitos), use o seguinte comando:

sed -i 's/\([0-9]\{5\}\)\([0-9]\{3\}\)/\1-\2/' arquivo.csv

Este comando agrupa os primeiros cinco dígitos e os três últimos, inserindo um hífen entre eles.

Exemplo Prático

Veja a diferença entre os dados de entrada e saída após aplicar os comandos:

Entrada Saída (após remover caracteres não numéricos) Saída (após reformatar para 00000-000)
12345-678 12345678 12345-678
12.345-678 12345678 12345-678
12345678 12345678 12345-678
12 345-678 12345678 12345-678

Conclusão

Com estes comandos SED, você normaliza CEPs em um arquivo CSV de forma rápida e automática, eliminando inconsistências e garantindo que todos os dados estejam no formato desejado. Esta abordagem economiza tempo e reduz significativamente a chance de erros manuais.