On the Linux CLI, is there a way to get the number of the week of the month? Maybe there is another way to get this with one simple (like date) command? Let's say that day 1 to 7 is the first week, day 8 to 14 is the second week, and so on.
If you accept external tools in your quest, try dateutils. It's got the notion of occurrence-within-month dates, i.e. 27 Apr 2012 is the 4th Fri in Apr 2012, which just coincides with your week definition. To get that number use:
dconv 2012-04-27 -f %c
=>
04
%c (count) is the format specifier for the occurrence-within the month. Or to be even cooler try
dconv today -f '%cth %a in %b %Y'
=>
1st Wed in Sep 2012
The
date
command can't do this internally, so you need some external arithmetic.Edit: Added a minus sign between the % and the d
You can use this:
Monday First week day
Sunday Firs week daty
Try this:
simplifying Victor Sanchez's solution:
replace %V with %U if you want weeks starting on Sunday.
btw: had to use expr instead of $((...)) because the later doesn't seem to like numbers with leading zeroes.
If you accept external tools in your quest, try dateutils. It's got the notion of occurrence-within-month dates, i.e. 27 Apr 2012 is the 4th Fri in Apr 2012, which just coincides with your week definition. To get that number use:
%c
(count) is the format specifier for the occurrence-within the month. Or to be even cooler try