Toque no arquivo para o registro de data e hora futuro

2

Eu criei o arquivo que tem 30 minutos usando o seguinte comando

TZ=ZZZ0 touch -t "$(TZ=ZZZ0:30 date +%Y%m%d%H%M.%S)" $HOME/reference

Da mesma forma, como posso criar um arquivo por 30 minutos no futuro.

Ex: às 17:00 Eu quero tocar o arquivo às 17:30

    
por Aravind 11.02.2015 / 13:53

2 respostas

1

Basta adicionar um sinal de menos:

TZ=ZZZ0 touch -t "$(TZ=ZZZ-0:30 date +%Y%m%d%H%M.%S)" $HOME/reference

Ou inverta o truque de fuso horário:

TZ=ZZZ0:30 touch -t "$(TZ=ZZZ0 date +%Y%m%d%H%M.%S)" $HOME/reference

Se você precisar ir além do intervalo de deslocamentos de fuso horário, os utilitários de shell padrão notoriamente não têm uma maneira de manipular a data. Várias pessoas fizeram o trabalho de implementar cálculos de data no shell Bourne, portanto, uma opção é fazer o download de um desses (alguns estão listados em aritmética de data em scripts de shell Unix ). Outra opção é instalar o GNU coreutils, especificamente o seu date command que permite escrever datas como now + 30 minutes . Você também pode instalar um ambiente de script mais sofisticado como o Perl e usar suas bibliotecas de manipulação de data.

    
por 11.02.2015 / 23:34
0

Use esse comando:

touch -t "$( printf '%(%Y%m%d%H%M.%S)T\n' 'now +30 minutes' )" file

Com -t de touch , você pode especificar uma data. E com printf de ksh também é possível formatar uma data. com o %(date-format)T , consulte a página de manual de ksh .

    
por 11.02.2015 / 14:07

Tags