The UNIX and Linux Forums  


Go Back   UNIX og Linux Forums > Top Forums > Shell Programmering og Scripting
.
google unix.com



Shell Programmering og Scripting Post spørgsmål om ksh, CSH, SH, Bash, Perl, PHP, SED, AWK og ANDRE shell scripts og Shell scriptsprog her.

Mere UNIX og Linux Forum Emner du måske kan finde Helpful
Tråd Thread Starter Forum Svar Last Post
Brug date-kommandoen til at finde den seneste måned Cbish68 Shell Programmering og Scripting 5 08-10-2007 11:32 AM
finde ud af måneden fra en dato rudoraj UNIX for dummyer Spørgsmål & svar 5 07-03-2007 09:21 AM
Sådan finder du den første dag i foregående måned i UNIX? Mohapatra Shell Programmering og Scripting 10 07-02-2007 09:57 PM
Brug for hjælp, hver fredag i en måned LAY Shell Programmering og Scripting 3 12-09-2006 09:12 AM
Find alle filer efter måned Maldini Shell Programmering og Scripting 13 08-03-2005 02:22 AM

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øg denne tråd Rate Thread Display Modes
  #1 (permalink)  
Old 05-30-2007
leslie02 leslie02 is offline
Registreret Bruger
  
 

Join Date: May 2007
Stillinger: 5
Smile Hvordan kan jeg finde den tredje fredag i hver måned?

Help please! Jeg har brug for at læse kalenderen og sætte datoen for den tredje fredag i hver måned i en variabel til sammenligning på et "hvis" erklæring. Hvordan vil jeg gøre det?

Thnx,
leslie02
  #2 (permalink)  
Old 05-30-2007
aigles's Avatar
aigles aigles is online now Forum Advisor  
Registreret Bruger
  
 

Join Date: Apr 2004
Beliggenhed: Bordeaux, Frankrig
Posts: 1.429
Den tredje fredag er altid mellem dage 15 og 21 rummeligt i måneden.
Du kan foretages testen gerne, at:

Code:
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 (permalink)  
Old 05-30-2007
Shell_Life's Avatar
Shell_Life Shell_Life is offline
Registreret Bruger
  
 

Join Date: Mar 2007
Beliggenhed: Bahia, Brasilien
Posts: 695
Leslie,
Se om det virker for dig:

Code:
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 (permalink)  
Old 05-31-2007
akrathi akrathi is offline
Registreret Bruger
  
 

Join Date: Sep 2005
Stillinger: 41
Dette bør arbejde

Tak
Ashok

cal 07 2007 | cut-C16-18 | hale -4 | head -1
  #5 (permalink)  
Old 05-31-2007
anbu23 anbu23 is offline Forum Advisor  
Registreret Bruger
  
 

Join Date: Mar 2006
Beliggenhed: Bangalore, Indien
Indlæg: 1.398

Code:
cal 05 2007 | sed -n "5{s/ *[0-9]\{2\}$//;s/^.* //p;}"

  #6 (permalink)  
Old 05-31-2007
aigles's Avatar
aigles aigles is online now Forum Advisor  
Registreret Bruger
  
 

Join Date: Apr 2004
Beliggenhed: Bordeaux, Frankrig
Posts: 1.429
Shell_Life, akrathi, anbu23 lader det til, at dine løsninger fungerer ikke i alle tilfælde:

Code:
$ 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 mulig løsning:

Code:
$ 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 (permalink)  
Old 05-31-2007
ghostdog74 ghostdog74 is offline Forum Advisor  
Registreret Bruger
  
 

Join Date: Sep 2006
Indlæg: 2.554
dette en ikke bruger CAL

Code:
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

Bogmærker

Thread Tools Søg denne tråd
Søg denne tråd:

Avanceret søgning
Display Modes Bedøm denne tråd
Bedøm denne tråd:

Udstationering Regler
Du kan ikke post nye tråde
Du kan ikke post svar
Du kan ikke post vedhæftede filer
Du kan ikke redigere dine indlæg

BB-kode er
Smilies er
[IMG] koden er
HTML-koden er Slukket
Trackbacks er
Pingbacks er
Refbacks er




Alle tidspunkter er GMT -4. Den tid er nu 12:10 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Oversættelser Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. Alle rettigheder Reserved.Ad Management ved RedTyger

Content Relevant webadresser ved vBSEO 3.2.0