OVH Cloud OVH Cloud

Générer la liste des samedis et dimanches

17 réponses
Avatar
kato fong
Bonjour,

Existe-t-il une façon simple et immédiate de générer la liste des
samedis et dimanches entre deux dates données ?

D'avance merci pour vos réponses

--
kato fong

10 réponses

1 2
Avatar
JustMe
kato fong a écrit
Bonjour,

Existe-t-il une façon simple et immédiate de générer la liste des samedis et
dimanches entre deux dates données ?

D'avance merci pour vos réponses


Tu peux bricoler un truc du style

#!/bin/sh

for year in 2006
do
for month in 1
do
cal -m $month $year | sed 's/$/ /' |
grep '^[0-9 ]' |
cut -c1-20 |
sed 's/^([ 1-3][ 0-9]) ([ 1-3][ 0-9]) ([ 1-3][ 0-9]) ([
1-3][ 0-9]) ([ 1-3][ 0-9]) ([ 1-3][ 0-9]) ([ 1-3][
0-9])/1;2;3;4;5;6;7/'
done
done |
cut -f 6-7 -d';' |
sed 's/^ *//' |
sed 's/ */ /g' |
sed 's/; /;/' |
grep -v '^;$'

Avatar
kato fong
JustMe wrote:
Tu peux bricoler un truc du style

#!/bin/sh

for year in 2006
do
for month in 1
do
cal -m $month $year | sed 's/$/ /' |
grep '^[0-9 ]' |
cut -c1-20 |
sed 's/^([ 1-3][ 0-9]) ([ 1-3][ 0-9]) ([ 1-3][ 0-9]) ([
1-3][ 0-9]) ([ 1-3][ 0-9]) ([ 1-3][ 0-9]) ([ 1-3][
0-9])/1;2;3;4;5;6;7/'
done
done |
cut -f 6-7 -d';' |
sed 's/^ *//' |
sed 's/ */ /g' |
sed 's/; /;/' |
grep -v '^;$'



Intéressant. J'ai du virer l'option -m de cal qui ne marche pas chez
moi, et il faut faire du +1 sur les dates des samedi et dimanches.

Merci

--
kato fong

Avatar
JustMe
kato fong a écrit
JustMe wrote:
Tu peux bricoler un truc du style

#!/bin/sh

for year in 2006
do
for month in 1
do
cal -m $month $year | sed 's/$/ /' |
grep '^[0-9 ]' |
cut -c1-20 |
sed 's/^([ 1-3][ 0-9]) ([ 1-3][ 0-9]) ([ 1-3][ 0-9]) ([
1-3][ 0-9]) ([ 1-3][ 0-9]) ([ 1-3][ 0-9]) ([ 1-3][
0-9])/1;2;3;4;5;6;7/'
done
done |
cut -f 6-7 -d';' |
sed 's/^ *//' |
sed 's/ */ /g' |
sed 's/; /;/' |
grep -v '^;$'



Intéressant. J'ai du virer l'option -m de cal qui ne marche pas chez moi, et
il faut faire du +1 sur les dates des samedi et dimanches.

Merci


Bah non, si t'a pas n-m tu gardes les colonnes 1 et 7


Avatar
JustMe
JustMe a écrit
kato fong a écrit
JustMe wrote:
Tu peux bricoler un truc du style

#!/bin/sh

for year in 2006
do
for month in 1
do
cal -m $month $year | sed 's/$/ /' |
grep '^[0-9 ]' |
cut -c1-20 |
sed 's/^([ 1-3][ 0-9]) ([ 1-3][ 0-9]) ([ 1-3][ 0-9]) ([
1-3][ 0-9]) ([ 1-3][ 0-9]) ([ 1-3][ 0-9]) ([ 1-3][
0-9])/1;2;3;4;5;6;7/'
done
done |
cut -f 6-7 -d';' |
sed 's/^ *//' |
sed 's/ */ /g' |
sed 's/; /;/' |
grep -v '^;$'



Intéressant. J'ai du virer l'option -m de cal qui ne marche pas chez moi,
et il faut faire du +1 sur les dates des samedi et dimanches.

Merci


Bah non, si t'as pas -m tu gardes les colonnes 1 et 7


Comme ca :

for year in 2006
do
for month in 1
do
cal $month $year | sed 's/$/ /' |
grep '^[0-9 ]' |
cut -c1-20 |
sed 's/^([ 1-3][ 0-9]) ([ 1-3][ 0-9]) ([ 1-3][ 0-9]) ([
1-3][ 0-9]) ([ 1-3][ 0-9]) ([ 1-3][ 0-9]) ([ 1-3][
0-9])/1;2;3;4;5;6;7/'
done
done |
cut -f 1,7 -d';' |
sed 's/^ *//' |
sed 's/ */ /g' |
sed 's/; /;/' |
grep -v '^;$'



Avatar
kato fong
JustMe wrote:
Comme ca :

for year in 2006
do
for month in 1
do
cal $month $year | sed 's/$/ /' |
grep '^[0-9 ]' |
cut -c1-20 |
sed 's/^([ 1-3][ 0-9]) ([ 1-3][ 0-9]) ([ 1-3][ 0-9]) ([
1-3][ 0-9]) ([ 1-3][ 0-9]) ([ 1-3][ 0-9]) ([ 1-3][
0-9])/1;2;3;4;5;6;7/'
done
done |
cut -f 1,7 -d';' |
sed 's/^ *//' |
sed 's/ */ /g' |
sed 's/; /;/' |
grep -v '^;$'



Super comme ça!

Encore merci.

--
kato fong

Avatar
Stephane Chazelas
2006-05-13, 10:44(+02), kato fong:
Bonjour,

Existe-t-il une façon simple et immédiate de générer la liste des
samedis et dimanches entre deux dates données ?
[...]


Pas tres simple ni immediat, mais:


date1 06-05-01
date2 06-06-01

eval "$(wget -qO- http://stchaz.free.fr/wide_strftime.sh)"
# l'idee est d'inclure le code a cette addresse ici

IFS=-
set -f
days_since_epoch $date1
t1=$REPLY
days_since_epoch $date2
t2=$REPLY

while [ "$t1" -le "$t2" ]; do
wide_strftime "" "$(($t1 * 86400))"
case $T_A in
Saturday) t1=$(($t1 + 1));;
Sunday) t1=$(($t1 + 6));;
*) t1=$(($t1 + 6 - $T_w))
continue;;
esac
printf '%sn' "$T_Y-$T_m-$T_d"
done


--
Stéphane

Avatar
JustMe
Stephane Chazelas a écrit
2006-05-13, 10:44(+02), kato fong:
Bonjour,

Existe-t-il une façon simple et immédiate de générer la liste des
samedis et dimanches entre deux dates données ?
[...]


Pas tres simple ni immediat, mais:


Je serai l'administrateur du site, j'aurai mis des throtle en place
pour eviter ce genre de trucs.

Je prefere ma solution avec cal. Au moins elle marche sans connexion
internet :-D


Avatar
Stephane Chazelas
2006-05-13, 12:57(+02), JustMe:
Stephane Chazelas a écrit
2006-05-13, 10:44(+02), kato fong:
Bonjour,

Existe-t-il une façon simple et immédiate de générer la liste des
samedis et dimanches entre deux dates données ?
[...]


Pas tres simple ni immediat, mais:


Je serai l'administrateur du site, j'aurai mis des throtle en place
pour eviter ce genre de trucs.

Je prefere ma solution avec cal. Au moins elle marche sans connexion
internet :-D
[...]


L'idee est de remplacer la ligne avec wget par:

. /path/do/downloaded/wide_strftime.sh

ou d'inclure wide_strftime.sh dans le script.

Le format d'output de cal est variable d'un systeme a l'autre.

Sinon, vu que perl a gmtime (ou mktime) et strftime, on peut
faire la meme chose


--
Stéphane



Avatar
Stephane Chazelas
2006-05-13, 12:57(+02), JustMe:
Stephane Chazelas a écrit
2006-05-13, 10:44(+02), kato fong:
Bonjour,

Existe-t-il une façon simple et immédiate de générer la liste des
samedis et dimanches entre deux dates données ?
[...]


Pas tres simple ni immediat, mais:


Je serai l'administrateur du site, j'aurai mis des throtle en place
pour eviter ce genre de trucs.
[...]


Qu'est-ce que tu entends par la, BTW?

--
Stéphane



Avatar
JustMe
Stephane Chazelas a écrit
2006-05-13, 12:57(+02), JustMe:
Stephane Chazelas a écrit
2006-05-13, 10:44(+02), kato fong:
Bonjour,

Existe-t-il une façon simple et immédiate de générer la liste des
samedis et dimanches entre deux dates données ?
[...]


Pas tres simple ni immediat, mais:


Je serai l'administrateur du site, j'aurai mis des throtle en place
pour eviter ce genre de trucs.
[...]


Qu'est-ce que tu entends par la, BTW?


J'entends par là que le jour ou un abruti de l'ENS cachan a "aspiré" un
site dynamique que j'avais fait a raison de dizaine de gets à la
seconde, j'ai installé un module apache qui limite le nombre de
connexions par minute en provenance d'un truc donné

et au passage l'abruti de "chercheur" en question s'est pris un bonne
souflante. Un vrai "Francois Pignon" le blaireau en question...

d'ailleurs...




1 2