Shell Script - número de minutos

2

Shell

Como posso escrever um script de shell, usando apenas recursos do shell (e o comando date), para gerar o número de minutos que decorreram no dia atual?

    
por Ken R 18.12.2014 / 01:42

3 respostas

4

Como date trata os não-especificadores como literais, é possível usar a string de formato para construir uma expressão aritmética simples para o número atual de minutos e, em seguida, avaliar o resultado usando a aritmética interna do shell. Por exemplo, em bash

printf "$(( $(date '+%H * 60 + %M') ))\n"

Se o seu shell não suporta aritmética, você poderia usar uma calculadora externa como bc

date '+%H * 60 + %M' | bc

ou dc

date '+%H 60 * %M + p' | dc
    
por 18.12.2014 / 02:04
2

GNU date e bash :

daystart_sec="$(date --date="today 00:00:00" +%s)"
now_sec="$(date +%s)"
echo $(((now_sec-daystart_sec)/60))
    
por 18.12.2014 / 01:48
-1

como eu subtrai o número de minutos passado no dia do número de minutos restantes no dia (ou seja, 1440)? Então, basicamente eu quero subtrair a saída do acima de 1440.

    
por 22.12.2016 / 03:27

Tags