Naredbe za koje (možda) niste znali 4: cal

Ime naredbe cal dolazi od engleskog "calendar", što automatski otkriva i njenu namjenu. Pomoću naredbe cal možete ispisati, obraditi i potom isprintati kalendar praktički bilo koje godine, uključujući i one po Julijanskom kalendaru.

Raspon godina koji cal može prikazati je od 1. do 5875706. godine, dakle, nećete ovaj alat tako skoro prestati rabiti.

Najčešća primjena je ispis trenutnog mjeseca:

$ cal
  December 2008
Su Mo Tu We Th Fr Sa   
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 31

Naredba prima jedan ili dva parametra. Ukoliko ste naveli jedan parametar, smatra se da ste mislili na godinu. Kod navođenja godine valja obratiti pozornost da morate otkucati cijelu godinu, dakle "cal 09" će prikazati kalendar za 9. godinu nove ere. Ispravan je oblik "cal 2009":

$ cal 2009
2009

January February March
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
1 2 3 1 2 3 4 5 6 7 1 2 3 4 5 6 7
4 5 6 7 8 9 10 8 9 10 11 12 13 14 8 9 10 11 12 13 14
11 12 13 14 15 16 17 15 16 17 18 19 20 21 15 16 17 18 19 20 21
18 19 20 21 22 23 24 22 23 24 25 26 27 28 22 23 24 25 26 27 28
25 26 27 28 29 30 31 29 30 31

April May June
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
1 2 3 4 1 2 1 2 3 4 5 6
5 6 7 8 9 10 11 3 4 5 6 7 8 9 7 8 9 10 11 12 13
12 13 14 15 16 17 18 10 11 12 13 14 15 16 14 15 16 17 18 19 20
19 20 21 22 23 24 25 17 18 19 20 21 22 23 21 22 23 24 25 26 27
26 27 28 29 30 24 25 26 27 28 29 30 28 29 30
31
July August September
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
1 2 3 4 1 1 2 3 4 5
5 6 7 8 9 10 11 2 3 4 5 6 7 8 6 7 8 9 10 11 12
12 13 14 15 16 17 18 9 10 11 12 13 14 15 13 14 15 16 17 18 19
19 20 21 22 23 24 25 16 17 18 19 20 21 22 20 21 22 23 24 25 26
26 27 28 29 30 31 23 24 25 26 27 28 29 27 28 29 30
30 31
October November December
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
1 2 3 1 2 3 4 5 6 7 1 2 3 4 5
4 5 6 7 8 9 10 8 9 10 11 12 13 14 6 7 8 9 10 11 12
11 12 13 14 15 16 17 15 16 17 18 19 20 21 13 14 15 16 17 18 19
18 19 20 21 22 23 24 22 23 24 25 26 27 28 20 21 22 23 24 25 26
25 26 27 28 29 30 31 29 30 27 28 29 30 31

Ukoliko želite saznati kako će izgledati neki mjesec određene godine navedite mjesec prije godine:

$ cal 4 2009
     April 2009
Su Mo Tu We Th Fr Sa
          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

Ako pogledate ispis, vidjet ćete da tjedan počinje sa nedjeljom, što nije uobičajeno u našem području. Ispis kalendara s ponedjeljkom kao prvim danom dobit ćete primjenom opcije "-m":

$ cal -m
   December 2008
Mo Tu We Th Fr Sa Su
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 31

UPDATE 03-2011: U izdanju "Squeeze" Debiana morat ćete rabiti drugačiji oblik naredbe da biste dobili ponedjeljak kao prvi dan u tjednu, ncal -M:

$ ncal -M
March 2011
Mo 7 14 21 28
Tu 1 8 15 22 29
We 2 9 16 23 30
Th 3 10 17 24 31
Fr 4 11 18 25
Sa 5 12 19 26
Su 6 13 20 27

Još jedna zanimljiva opcija je "-3". Ona će prikazati mjesec koji ste tražili, ali i mjesec prije i mjesec poslije, sve u jednom redu. Ovo može dobro poslužiti za planiranje godišnjih odmora, primjerice.

Osim naredbe cal, postoji i emulacija naredbe ncal, koja se prvo pojavila na FreeBSD sustavima. Kad cal pozivate kao ncal, ispis je ponešto drugačiji, kompaktniji i tjedan počinje s ponedjeljkom:

$ ncal  2009
                                  2009
    January           February          March             April
Mo     5 12 19 26        2  9 16 23        2  9 16 23 30     6 13 20 27
Tu     6 13 20 27        3 10 17 24        3 10 17 24 31     7 14 21 28
We     7 14 21 28        4 11 18 25        4 11 18 25     1  8 15 22 29
Th  1  8 15 22 29        5 12 19 26        5 12 19 26     2  9 16 23 30
Fr  2  9 16 23 30        6 13 20 27        6 13 20 27     3 10 17 24
Sa  3 10 17 24 31        7 14 21 28        7 14 21 28     4 11 18 25
Su  4 11 18 25        1  8 15 22        1  8 15 22 29     5 12 19 26

Kao zanimljivost, navest ćemo da ncal podržava prikaz dana kada padaju Uskršnji blagdani, samo trebate upotrijebiti opciju "-e" (od engleskog Easter):

$ ncal -e 2009
12 April 2009

Dakle, iako nemaju previše opcija, naredbe cal i ncal nam ipak mogu pružiti brze, točne i korisne informacije. Kalendare kasnije možemo formatirati  i isprintati u nekom programu za obradu teksta ili softveru za DTP, ukoliko nam pri ruci nije neki "pravi" kalendar.

Cal i ncal se nalaze u paketu "bsdmainutils", pa se jednostavno daju instalirati sa:

# apt-get install bsdmainutils

ukoliko ih već nemate na sustavu.

Kuharice: 
Kategorije: 
Vote: 
4.666665
Vaša ocjena: Nema Average: 4.7 (3 votes)