The UNIX and Linux Forums  


Go Back   Les systèmes UNIX et Linux Forums > Top Forums > De programmation et de script Shell
.
google unix.com



De programmation et de script Shell Posez vos questions à propos de KSH, CSH, SH, BASH, PERL, PHP, SED, awk et d'autres scripts shell et les langages de script shell ici.

Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
Fil Thread Starter Forum Réponses Last Post
Utilisez la date de commande pour trouver le mois dernier Cbish68 De programmation et de script Shell 5 08-10-2007 11:32 AM
mois, de trouver une date rudoraj UNIX pour les nuls Questions et réponses 5 07-03-2007 09:21 AM
Comment faire pour trouver le premier jour du mois précédent en unix? Mohapatra De programmation et de script Shell 10 07-02-2007 09:57 PM
Besoin d'aide, chaque vendredi, dans un mois LAY De programmation et de script Shell 3 12-09-2006 09:12 AM
Trouver tous les fichiers par mois Maldini De programmation et de script Shell 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 Recherche sur ce Thread Rate Thread Modes d'affichage
  #1 (permalink)  
Old 05-30-2007
leslie02 leslie02 is offline
Registered User
  
 

Join Date: Mai 2007
Messages: 5
Smile Comment puis-je trouver le troisième vendredi de chaque mois?

Aide s'il vous plaît! J'ai besoin de lire le calendrier et inscrivez la date de la troisième vendredi de chaque mois dans une variable pour la comparaison dans un "if". Comment puis-je faire?

Thnx,
leslie02
  #2 (permalink)  
Old 05-30-2007
aigles's Avatar
Aigles aigles is offline Forum Advisor  
Registered User
  
 

Date d'inscription: avril 2004
Lieu: Bordeaux, France
Posts: 1433
Le troisième vendredi est toujours entre les jours 15 et 21 inclus du mois.
Vous faites l'essai comme ça:

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
Registered User
  
 

Join Date: Mar 2007
Lieu: Bahia, Brésil
Messages: 695
Leslie,
Voir si cela fonctionne pour vous:

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
Registered User
  
 

Join Date: Sep 2005
Posts: 41
Ce travail devrait

Merci
Ashok

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

Join Date: Mar 2006
Lieu: Bangalore, Inde
Posts: 1398

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 offline Forum Advisor  
Registered User
  
 

Date d'inscription: avril 2004
Lieu: Bordeaux, France
Posts: 1433
Shell_Life, akrathi, anbu23, il semble que vos solutions ne fonctionnent pas dans tous les cas:

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
$

Une solution possible:

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  
Registered User
  
 

Join Date: Sep 2006
Messages: 2555
celui-ci n'utilise pas de 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

Bookmarks

Thread Tools Recherche sur ce Thread
Recherche sur ce Thread:

Recherche avancée
Modes d'affichage Rate this thread
Rate this thread:

Règles de messages
Tu mai pas de nouvelles discussions: nonoui
Tu mai pas envoyer des réponses:
Tu mai pas envoyer des pièces jointes
Tu mai pas modifier vos messages

BB code est Sur
Smilies sont Sur
[IMG] code est Sur
Le code HTML est Hors tension
Trackbacks sont Sur
Pingbacks sont Sur
Refbacks sont Sur




Toutes les heures sont au format GMT -4. Le temps est maintenant 03:12 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traductions Langue Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Les systèmes UNIX et Linux Forums Content Copyright © 1993-2009. Tous droits Reserved.Ad de gestion par RedTyger

Content Relevant URLs par vBSEO 3.2.0