Gostaria de ajudar?

quinta-feira, 28 de junho de 2012

Entendendo o comando cal

No penultimo post nós vimos que podemos retirar informações de data através do comando cal que representa o calendário do Linux. Com o comando cal você pode visualisar (impresso na tela/terminal) o calendário completo de um determinado mês de um determinado ano, sendo o mês representado por (01 a 12) e o ano no formato com 4 algarismos. Aproveite para neste momento ir no seu terminal e digitar cal, você verá algo como:

     Junho 2012      
Do Se Te Qu Qu Se Sá 
                             1  2 
   3   4   5   6   7   8   9 
 10 11 12 13 14 15 16 
 17 18 19 20 21 22 23 
 24 25 26 27 28 29 30

O comando man cal dar acesso ao manual do cal. Segue alguns exemplos de uso do comando cal.

>echo $(cal 06 2012)
você terá como resposta:
Junho 2012 Do Se Te Qu Qu Se Sá 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30


Observe que o comando acima é diferente do comando abaixo:

>cal 06 2012
você terá como resposta:

     Junho 2012      
Do Se Te Qu Qu Se Sá 
                              1  2 
   3   4   5   6   7   8   9 
 10 11 12 13 14 15 16 
 17 18 19 20 21 22 23 
 24 25 26 27 28 29 30

No entanto, o primeiro comando é mais utilisado pois possibilita concatenar com outros comando como cut, awk e etc. E um exemplo do concatenação do comando cal com awk nós vimos no penultimo post.

Um exemplo do uso do comando cal com o comando cut:

>echo $(cal 06 2012) | cut -c1-03
Desta forma você terá como resposta:

Jun

ou seja, cal 06 2012 exibe uma sequência de caracter e eu quero exibir somente o caracter de 1 a 3, isso significa as três primeiras letras do mês em questão (Junho).

Este comando é bastante útil e possibilita retirar diversas informações do sistema, segue mais um exemplo para saber o último dia de cada mês de um determinado ano:

>for mes in $(seq -w 1 12); do echo -n "Ultimo dia do mes $mes/2011 = "; echo $(cal $mes 2011) | awk '{print $NF}'; done
A resposta para este comando é:

Ultimo dia do mes 01/2011 = 31
Ultimo dia do mes 02/2011 = 28
Ultimo dia do mes 03/2011 = 31
Ultimo dia do mes 04/2011 = 30
Ultimo dia do mes 05/2011 = 31
Ultimo dia do mes 06/2011 = 30
Ultimo dia do mes 07/2011 = 31
Ultimo dia do mes 08/2011 = 31
Ultimo dia do mes 09/2011 = 30
Ultimo dia do mes 10/2011 = 31
Ultimo dia do mes 11/2011 = 30
Ultimo dia do mes 12/2011 = 31

Bom pessoal é isso.

Boa Sorte e Bom Trabalho a Todos.




Nenhum comentário :

Postar um comentário