![]() |
Hej och välkommen från USA till UNIX och Linux Forum! Tack för ditt besök och gå med i vår globala gemenskapen.
|
|
google unix.com
|
|||||||
| Forum | Registrera | Forum Regler | Länkar | Album | FAQ | Medlemslista | Kalender | Söka | Dagens inlägg | Markera forum som lästa |
| Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här. |
Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
|
||||
| Tråd | Thread Starter | Forum | Svar | Senaste Inlägg |
| Använd datum kommando för att hitta senaste månaden | Cbish68 | Shell-programmering och Skript | 5 | 08-10-2007 10:32 |
| ta reda månad från ett datum | rudoraj | UNIX for Dummies Frågor & Svar | 5 | 07-03-2007 08:21 |
| Hur hittar man den första dagen i föregående månad i UNIX? | mohapatra | Shell-programmering och Skript | 10 | 07-02-2007 08:57 |
| Behöver du hjälp, varje fredag i en månad | LÄGGA | Shell-programmering och Skript | 3 | 12-09-2006 09:12 |
| Hitta alla filer efter månad | Maldini | Shell-programmering och Skript | 13 | 08-03-2005 01:22 |
![]() |
|
|
LinkBack | Thread Tools | Sök i denna tråd | Rate Thread | Visningslägen |
|
|
|
||||
|
Hjälp snälla! Jag måste läsa kalendern och sätta datum för den tredje fredagen i varje månad till en variabel som jämförelse i en "om" uttalande. Hur skulle jag göra det?
Thnx, leslie02 |
|
|||||
|
Leslie,
Se om detta fungerar för dig: Kod:
typeset -i mMth=1
mYear='2007'
while [ ${mMth} -le 12 ]
do
m3Friday=`cal ${mMth} ${mYear} | tail +3 | cut -c16,17 | sed '/^ *$/d' | sed -n '3p'`
echo "Third Friday of "${mMth}"/"${mYear}" = "${m3Friday}
mMth=${mMth}+1
done
|
|
|||||
|
Shell_Life, akrathi, anbu23 verkar det som om dina lösningar fungerar inte i alla fall:
Kod:
$ cal 12 2007
December 2007
Sun Mon Tue Wed Thu Fri Sat
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
$ cal 12 2007 | tail +3 | cut -c16,17 | sed '/^ *$/d' | sed -n '3p'
2
$ cal 12 2007 | cut -c16-18 | tail -4 | head -1
13
$ cal 12 2007 | sed -n "5{s/ *[0-9]\{2\}$//;s/^.* //p;}"
14
$
Kod:
$ cal 12 2007 | awk 'NR>2 && NF>=2 && ++w==3 {print $6}'
21
$ cal 07 2007 | awk 'NR>2 && NF>=2 && ++w==3 {print $6}'
20
$ cal 6 02007 | awk 'NR>2 && NF>=2 && ++w==3 {print $6}'
15
$
|