another cal command question.


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting another cal command question.
# 1  
Old 03-16-2011
another cal command question.

I got this from this board yesterday

cal | xargs -n1 | tail -1 which displays the current months days.. for instance if you type this in a shell today you will get 31.

I would like to also display the month and year.. something like

March 2011 has 31 days.

how would I do that?

thanks in advance.
This User Gave Thanks to rontopia For This Post:
# 2  
Old 03-16-2011
Code:
cal | xargs | nawk '{print $1, $2, "has", $NF, "days"}'


Last edited by vgersh99; 03-16-2011 at 08:17 PM..
These 2 Users Gave Thanks to vgersh99 For This Post:
# 3  
Old 03-16-2011
you are a genus.. thanks
# 4  
Old 03-17-2011

I have seen versions of cal which print three months by default. The above scripts fail in that case.

Code:
_days_in_month() ## USAGE: _days_in_month [month [year]]
{
    case ${1#0} in
        9|4|6|11) _DAYS_IN_MONTH=30 ;; ## 30 days hath September...
        1|3|5|7|8|10|12) _DAYS_IN_MONTH=31 ;;
        2) is_leap_year ${2:-`date +%Y`} && _DAYS_IN_MONTH=29 || _DAYS_IN_MONTH=28 ;;
        *) return 5 ;;
    esac
}

is_leap_year() { ## USAGE: is_leap_year [year]
    ily_year=${1:-`date +%Y`}
    case $ily_year in
        *0[48] |\
        *[2468][048] |\
        *[13579][26] |\
        *[13579][26]0|\
        *[02468][048]00 |\
        *[13579][26]00 ) _IS_LEAP_YEAR=1
                         return 0 ;;
        *) _IS_LEAP_YEAR=0
           return 1 ;;
    esac
}

eval "$(date "+monthname=%B month=%m year=%Y")"
_days_in_month "$month" "$year"
printf "%s has %d days\n" "$monthname" "$_DAYS_IN_MONTH"

I use a library of date functions which can be found in my first book; see 8: The Dating Game
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Cal command to display 5 months ?

Hi, I'm curious to know if we can display 5 months of a calendar using the cal command. I know we can three successive months (cal -3) but I wanted to know if we can do it with 5 months for example. (Give a specific month, and get as a result two previous months + the month in question + two... (12 Replies)
Discussion started by: Imane
12 Replies

2. UNIX for Dummies Questions & Answers

Cal command in UNIX

modify "cal " command to display calenders of the specified months. $ cal jan....aug (1 Reply)
Discussion started by: ssaini
1 Replies

3. Shell Programming and Scripting

Modify cal command in shell script

Plz help me a) To display on the screen the sorted output of "who" along with the total no. of users. b) the same output (except the no. of users) should be in file FILE1. (2 Replies)
Discussion started by: shivasaini
2 Replies

4. UNIX for Dummies Questions & Answers

cal command

Hello, I wanted to display calender for the previou, current and next month in a single command... I used the command cal -3 for this. But its throwing me a Bad Argument error. I am using HP UX to execute this command. Is this a syntax error, or let me know if there any other ways to... (6 Replies)
Discussion started by: atlantis
6 Replies

5. Shell Programming and Scripting

parsing return from cal command

Jim , Anyone I do not have GNU date Besides I am particularly interested in how one can parse the return from the cal command. Say do - cal 11 2008 - and parse out a given date, say the 8th and return that the 8th was Saturday. ( diffrentiating between S for Saturday and Sunday , also in the case... (1 Reply)
Discussion started by: dragrid
1 Replies

6. UNIX for Dummies Questions & Answers

Cal question

This probably would be a cake walk for you, but i am having trouble with this. I am trying to print every tuesday of the month from cal, and the FS default is space. There is one row that has few spaces at the beginning and so when i print $3, those spaces get ingnored and a different day gets... (2 Replies)
Discussion started by: Vin
2 Replies

7. UNIX for Dummies Questions & Answers

cal command display issues

I am using AIX version 5.3 I like the cal function because I can print a nice concise view of the calendar for the whole year. I want the calendar to display with 3 months across instead of 2, which is what is happening. My terminal display is set with 67 rows and 140 columns so that should... (0 Replies)
Discussion started by: ruddydaggerwing
0 Replies

8. Shell Programming and Scripting

Julian Dates and the Cal command

hey all, I was wondering if it was possible to get the julian date with the cal command. I know that the "-j" option will display it, however, i need the Julian Date of a specific date, in number. For example, the User would enter their age like 19800101 or YYYMMDD, like so. This info... (0 Replies)
Discussion started by: shan2on
0 Replies

9. AIX

doubt in cal command

I am new to unix... How to get all the saturdays of a specific year? for a specific month, i tried as below.. cal 02 2006 | awk '{print $7}' but it is not giving all saturdays.... can anyone help me with this? Thanks in advance, Sumi (9 Replies)
Discussion started by: sumi
9 Replies

10. UNIX for Dummies Questions & Answers

Cal command

I am trying to configure the cal command to recognize the month names. When you type: cal - you get the calander for the current month of the current year. Is there a way of making the system recognize March, and Mar. So I could type: cal March or cal mar and get the same response as cal.... (5 Replies)
Discussion started by: Astudent
5 Replies
Login or Register to Ask a Question