date
(pelo menos na implementação GNU comum hoje em dia) pode levar o tempo de modificação de um arquivo diretamente:
> date -r ~/.bashrc +'%Y-%m-%d %H:%M:%S %z'
2015-11-10 18:50:49 +0100
(ou qualquer formato que você deseje)
Eu gostaria de poder fornecer os últimos registros de data e hora modificados para minhas publicações e páginas do Jekyll usando um script de shell. O problema é que eu não sei como gerar automaticamente um timestamp aceitável. O mais próximo que cheguei ao timestamp aceitável é usando este comando:
stat <FILE> | sed -n -e 's/Modify:\s//p'
que retorna para o meu arquivo glossary.md:
2016-02-12 09:37:55.393936224 +1000
este é quase o formato que eu quero. O único problema é que eu gostaria de remover o decimal .393936224
dele. Eu pensei que poderia gerenciar isso usando sed
, mas todas as minhas tentativas falharam. A maioria das minhas tentativas envolveu gravar essa saída em um arquivo de texto e depois usar sed nesse arquivo de texto para remover o decimal. Eu preferiria qualquer resposta que você desse para não gravar a saída disso em um arquivo de texto, embora eu desejasse que a saída de sua solução fosse gravável em uma variável. por exemplo, se a variável for L
:
L=$(stat <FILE> | sed -n -e 's/Modify:\s//p' | sed ...)
onde | sed ...
pode ser substituído por qualquer que seja sua solução para esse problema.
Tags sed timestamps