ragfica.pages.dev

Como formatar datas em arquivos no Linux?

Formatar datas em arquivos no Linux pode ser uma tarefa repetitiva e propensa a erros manuais. Felizmente, o comando date e ferramentas como awk e sed permitem automatizar esse processo de forma rápida e precisa, garantindo consistência nos dados.

Pré-requisitos

Usando o comando date para conversão

O comando date permite converter datas entre formatos. Para converter uma data específica, use:

date -d "2024-03-15" +"%d/%m/%Y"

Este comando converte a data "2024-03-15" para o formato "15/03/2024".

Formatando datas em arquivos com awk

Para processar datas em um arquivo, o awk é ideal. Suponha que seu arquivo contenha datas no formato "YYYY-MM-DD" e você queira convertê-las para "DD/MM/YYYY":

awk -F'-' '{print $3"/"$2"/"$1}' arquivo.txt

Este comando divide cada linha pelo caractere '-' e reordena os campos para o novo formato.

Usando sed para substituição em massa

Se precisar substituir datas em um arquivo diretamente, use o sed:

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

Esta expressão regular captura datas no formato "YYYY-MM-DD" e as substitui por "DD/MM/YYYY".

Exemplo Prático

Entrada (arquivo.txt) Comando Saída
2024-03-15 date -d "2024-03-15" +"%d/%m/%Y" 15/03/2024
2024-03-15 awk -F'-' '{print $3"/"$2"/"$1}' arquivo.txt 15/03/2024
2024-03-15 sed -i 's/\([0-9]\{4\}\)-\([0-9]\{2\}\)-\([0-9]\{2\}\)/\3\/\2\/\1/g' arquivo.txt 15/03/2024

Conclusão

Com estes comandos, você pode formatar datas em arquivos no Linux de forma rápida e sem erros. A automação via terminal não só economiza tempo, mas também garante que todos os dados sigam o mesmo padrão, facilitando análises e processamentos futuros.