The UNIX and Linux Forums  
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.

Go Back   UNIX och Linux Forum > Upp Forum > Shell-programmering och Skript
.
google unix.com



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

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Sök i denna tråd Rate Thread Visningslägen
  #1 (permalänk)  
Old 05-30-2007
leslie02 leslie02 is offline
Registered User
  
 

Join Date: maj 2007
Inlägg: 5
Smile Hur hittar jag den tredje fredagen i varje månad?

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
  #2 (permalänk)  
Old 05-30-2007
aigles's Avatar
aigles aigles is offline Forum Advisor  
Registered User
  
 

Join Date: april 2004
Ort: Bordeaux, Frankrike
Inlägg: 1.420
Den tredje fredag är alltid mellan dag 15 och 21 inklusive månaden.
Du kan gjorde ett test som liknar det:
Kod:
day_of_week=$(date +%w)  # (0..6); 0 is Sunday, 5 is Friday
day_of_month=$(date +%e) # space padded
if [ ${day_of_week} -eq 5 -a ${day_of_month} -ge 15 -a ${day_of_month} -le 21 ]
then
   echo "third Friday "
fi
Jean-Pierre.
  #3 (permalänk)  
Old 05-30-2007
Shell_Life's Avatar
Shell_Life Shell_Life is offline
Registered User
  
 

Join Date: mars 2007
Ort: Bahia, Brasilien
Inlägg: 695
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
  #4 (permalänk)  
Old 05-31-2007
akrathi akrathi is offline
Registered User
  
 

Join Date: Sep 2005
Inlägg: 41
Detta bör arbeta

Tack
Ashok

cal 07 2007 | cut-C16-18 | tail -4 | head -1
  #5 (permalänk)  
Old 05-31-2007
anbu23 anbu23 is offline Forum Advisor  
Registered User
  
 

Join Date: mars 2006
Ort: Bangalore, Indien
Inlägg: 1.398
Kod:
cal 05 2007 | sed -n "5{s/ *[0-9]\{2\}$//;s/^.* //p;}"
  #6 (permalänk)  
Old 05-31-2007
aigles's Avatar
aigles aigles is offline Forum Advisor  
Registered User
  
 

Join Date: april 2004
Ort: Bordeaux, Frankrike
Inlägg: 1.420
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
$
En möjlig lösning:
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
$
Jean-Pierre.
  #7 (permalänk)  
Old 05-31-2007
ghostdog74 ghostdog74 is offline Forum Advisor  
Registered User
  
 

Join Date: Sep 2006
Inlägg: 2.532
detta en inte använder CAL
Kod:
count=0
month="05"
for s in `seq 1 31`
do
 fr=$(date +%a --date="2007-$month-$s" )
 if [ "$fr" == "Fri" ];then
     friday[$count]=$s
     count=$((count+1))
 fi 
done
echo ${friday[2]} #third fri
Closed Thread

Komihåglista

Thread Tools Sök i denna tråd
Sök i denna tråd:

Avancerad sökning
Visningslägen Betygsätt denna tråd
Betygsätt denna tråd:

Utstationering Regler
Du får inte efter nya trådar
Du får inte efter svar
Du får inte skicka bilagor
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG] kod
HTML-koden är Av
Trackback är
Pingbacks är
Refbacks är




Alla tider är GMT -4. Klockan är nu 04:25.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Översättningar Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX och Linux Forum Innehållet upphovsrättsskyddat © 1993-2009. All Rights Reserved.Ad förvaltning RedTyger

Content Relevant webbadresser från vBSEO 3.2.0