Trabalhando com datas no Linux
Neste artigo falarei sobre o comando date e as possibilidades de formatação de data no Linux, o que é muito util para extrair relatórios de períodos específicos e usar em seus shell scripts.
Introdução
A data é um argumento muito importante dentro de sistemas de informação, principalmente
na extração de dados. Geralmente queremos saber o faturamento da empresa em um determinado
período, qual foi a venda de determinado produto em determinado mês, dentre outras. Para
os administradores de sistemas não deixa de ser diferente, relatórios de uso da internet
e agendamento de tarefas são exemplos.
Por este motivo abordarei neste tutorial como trabalhar com datas, mostrarei alguns comandos os quais mais tarde poderão virar scripts e automatizar suas tarefas, livrando seu tempo para você buscar novos desafios.
Antes de começarmos a falar da manipulação de datas especificamente, gostaria de mostrar um comando interessante:
$ cal
(mostra o calendário do mês corrente)
$ cal 2004
(mostra o calendário do ano de 2004, logo "cal 2003" irá mostrar o calendário de 2003 ;-P)
O comando date serve para mostrar a data e o tempo do sistema e ajustá-los, tem a seguinte forma:
date [opções] [+formatação]
Ajustar a hora do sistema:
# date 051909522004
Onde o 05 corresponde ao mês, o 19 ao dia, o 09 as horas, o 52 aos minutos, o 20 às duas primeiras casas do ano e o 04 às duas segundas casas do ano, logo estou selecionando para o meu sistema a data 19/05/2004 e a hora 09h52min.
$ date -r <caminho do arquivo>
(mostra a data da última modificação do arquivo)
$ date --date yesterday
(mostra a data de ontem com a formatação do sistema. A opção --date pode ser substituída por -d e yesterday pode ser substituído por today, tomorrow dentre outras opções)
$ date +%Y
(mostra o ano corrente)
$ date +%d/%m/%Y
(mostra a data corrente na formatação dd/mm/aaaa)
Agora podemos combiná-los (opções + formatação):
$ date -d yesterday +%d/%m/%Y
(mostrará a data do dia anterior na formatação dd/mm/aaaa)
Existem várias opções de formatação possíveis, para obter a lista completa execute:
$ date --help
Onde serão mostradas além dessas opções um help sobre o comando date.
Por este motivo abordarei neste tutorial como trabalhar com datas, mostrarei alguns comandos os quais mais tarde poderão virar scripts e automatizar suas tarefas, livrando seu tempo para você buscar novos desafios.
Antes de começarmos a falar da manipulação de datas especificamente, gostaria de mostrar um comando interessante:
$ cal
(mostra o calendário do mês corrente)
$ cal 2004
(mostra o calendário do ano de 2004, logo "cal 2003" irá mostrar o calendário de 2003 ;-P)
O comando date serve para mostrar a data e o tempo do sistema e ajustá-los, tem a seguinte forma:
date [opções] [+formatação]
Ajustar a hora do sistema:
# date 051909522004
Onde o 05 corresponde ao mês, o 19 ao dia, o 09 as horas, o 52 aos minutos, o 20 às duas primeiras casas do ano e o 04 às duas segundas casas do ano, logo estou selecionando para o meu sistema a data 19/05/2004 e a hora 09h52min.
$ date -r <caminho do arquivo>
(mostra a data da última modificação do arquivo)
$ date --date yesterday
(mostra a data de ontem com a formatação do sistema. A opção --date pode ser substituída por -d e yesterday pode ser substituído por today, tomorrow dentre outras opções)
$ date +%Y
(mostra o ano corrente)
$ date +%d/%m/%Y
(mostra a data corrente na formatação dd/mm/aaaa)
Agora podemos combiná-los (opções + formatação):
$ date -d yesterday +%d/%m/%Y
(mostrará a data do dia anterior na formatação dd/mm/aaaa)
Existem várias opções de formatação possíveis, para obter a lista completa execute:
$ date --help
Onde serão mostradas além dessas opções um help sobre o comando date.