Obtendo os últimos 5 dias da entrada (leia a linha de comando)

2

Eu tenho um script que obterá os últimos 5 dias a partir da entrada de dados pelo usuário.

Exemplo:

Choose the month: 
1 - Jan
2 - Feb
...
12- Dec  // I used if else here 

Insert day:
30

Meu resultado esperado seria este:

Jun 30
Jun 29
Jun 28
Jun 27
Jun 26

Isso é possível? Eu já verifiquei o comando date , mas só posso replicar obtendo a data hoje, depois use o comando -d . Não consigo inserir a data que quero verificar.

    
por Edmhar 05.08.2016 / 05:31

1 resposta

1

Com o GNU date(1) :

start_day=3
start_month=Jun
for d in {0..4}; do
    date -d "$start_month $start_day - $d days" +'%b %d'
done

Saída:

Jun 03
Jun 02
Jun 01
May 31
May 30

Fazer o mesmo sem o GNU date(1) é possível, mas potencialmente muito mais doloroso.

    
por 05.08.2016 / 07:05

Tags