Δημοσιεύτηκε: 07 Φεβ 2010, 10:19
από sokoban4ever
daterange generator
Δίνει ένα εύρος από ημερομηνίες στα ελληνικά ή σε ακόμα και σε κάποια άλλη γλώσσα (απλά αναπροσαρμόστε κατάλληλα την μεταβλητή SUB )
*πχ για να το βάλετε σε μια στήλη στο open office spreadsheet επειδή δεν βρίσκετε πως γίνεται στα ελληνικά

πρώτα δίνουμε το έτος μετά τον μήνα και μετά την ημέρα
το πρώτο όρισμα είναι η αρχική ημερομηνία και το δεύτερο η τελική
στο outpout βγάζει σωστά με τον ελληνικό τρόπο δηλαδή πρώτα μέρα μετά μήνα μετά έτος
παραδείγματα χρήσης
από 01-02-2010 έως 22-03-2010
Spoiler: show
Κώδικας: Επιλογή όλων
./daterange.sh 10-02-01 10-03-22
Δευτέρα 01-02-2010
Τρίτη 02-02-2010
Τετάρτη 03-02-2010
Πέμπτη 04-02-2010
Παρασκευή 05-02-2010
Σάββατο 06-02-2010
Κυριακή 07-02-2010
Δευτέρα 08-02-2010
Τρίτη 09-02-2010
Τετάρτη 10-02-2010
Πέμπτη 11-02-2010
Παρασκευή 12-02-2010
Σάββατο 13-02-2010
Κυριακή 14-02-2010
Δευτέρα 15-02-2010
Τρίτη 16-02-2010
Τετάρτη 17-02-2010
Πέμπτη 18-02-2010
Παρασκευή 19-02-2010
Σάββατο 20-02-2010
Κυριακή 21-02-2010
Δευτέρα 22-02-2010
Τρίτη 23-02-2010
Τετάρτη 24-02-2010
Πέμπτη 25-02-2010
Παρασκευή 26-02-2010
Σάββατο 27-02-2010
Κυριακή 28-02-2010
Δευτέρα 01-03-2010
Τρίτη 02-03-2010
Τετάρτη 03-03-2010
Πέμπτη 04-03-2010
Παρασκευή 05-03-2010
Σάββατο 06-03-2010
Κυριακή 07-03-2010
Δευτέρα 08-03-2010
Τρίτη 09-03-2010
Τετάρτη 10-03-2010
Πέμπτη 11-03-2010
Παρασκευή 12-03-2010
Σάββατο 13-03-2010
Κυριακή 14-03-2010
Δευτέρα 15-03-2010
Τρίτη 16-03-2010
Τετάρτη 17-03-2010
Πέμπτη 18-03-2010
Παρασκευή 19-03-2010
Σάββατο 20-03-2010
Κυριακή 21-03-2010
Δευτέρα 22-03-2010

δέχεται και παύλες και "κολλητά "
Spoiler: show
Κώδικας: Επιλογή όλων
$ ./daterange.sh 10-02-01 10-02-10
Δευτέρα 01-02-2010
Τρίτη 02-02-2010
Τετάρτη 03-02-2010
Πέμπτη 04-02-2010
Παρασκευή 05-02-2010
Σάββατο 06-02-2010
Κυριακή 07-02-2010
Δευτέρα 08-02-2010
Τρίτη 09-02-2010
Τετάρτη 10-02-2010
$ ./daterange.sh 100201 100210
Δευτέρα 01-02-2010
Τρίτη 02-02-2010
Τετάρτη 03-02-2010
Πέμπτη 04-02-2010
Παρασκευή 05-02-2010
Σάββατο 06-02-2010
Κυριακή 07-02-2010
Δευτέρα 08-02-2010
Τρίτη 09-02-2010
Τετάρτη 10-02-2010

υποστηρίζει και άλλες γλώσσες ( εγώ του έβαλα μόνο ιταλικά αλλά βάλτε ότι θέλετε)
ιταλικα με το τρίτο όρισμα it
Spoiler: show
Κώδικας: Επιλογή όλων
$ ./daterange 10-02-01 10-02-12 it
Lunedi 01-02-2010
Martedì 02-02-2010
Mercoledì 03-02-2010
Giovedi 04-02-2010
Venerdì 05-02-2010
Sabato 06-02-2010
Domenica 07-02-2010
Lunedi 08-02-2010
Martedì 09-02-2010
Mercoledì 10-02-2010
Giovedi 11-02-2010
Venerdì 12-02-2010

δείχνει την ημερομηνία που το τρέχεις στα ελληνικά αν το τρέξεις χωρίς παραμέτρους
Spoiler: show
Κώδικας: Επιλογή όλων
$ ./daterange
Κυριακή 07-02-2010

τέλος
βεβαίως μπορείτε να τα σώσετε σε ένα αρχείο πολύ απλά με
εντολή + > + όνομα αρχείου

και το daterange
Κώδικας: Επιλογή όλων
#!/bin/bash


lang=$3
std=$1
fnl=$2

startdate=`date --date="$1" +'%Y-%m-%d'`

if [ "$?" -ne 0 ]
then
echo "Λάθος αρχική ημερομηνία"
exit 1
fi

finaldate=`date --date="$2" +'%Y-%m-%d'`

if [ "$?" -ne 0 ]
then
echo "Λάθος τελική ημερομηνία"
exit 1
fi


#Substituting English to Greek or Italian with Sed
if [ -n "$lang" -a "$lang" == "it" ]
then
SUB="s/Mon/Lunedi/ -e s/Tue/Martedì/ -e s/Wed/Mercoledì/ -e s/Thu/Giovedi/ -e s/Fri/Venerdì/ -e s/Sat/Sabato/ -e s/Sun/Domenica/"
else
SUB="s/Mon/Δευτέρα/ -e s/Tue/Τρίτη/ -e s/Wed/Τετάρτη/ -e s/Thu/Πέμπτη/ -e s/Fri/Παρασκευή/ -e s/Sat/Σάββατο/ -e s/Sun/Κυριακή/"
fi

#Δευτέρα Τρίτη Τετάρτη Πέμπτη Παρασκευή Σάββατο Κυριακή
# Lunedi Martedì Mercoledì Giovedi Venerdì Sabato Domenica



tmpdate="$startdate"
echo $( date --date="$tmpdate" +'%a %d-%m-%Y' ) | sed -e $SUB
until [ "$tmpdate" == "$finaldate" ]
do
tmpdate=`date --date="$tmpdate tomorrow " +'%Y-%m-%d'`
echo $( date --date="$tmpdate" +'%a %d-%m-%Y' ) | sed -e $SUB
done



*
:oops: ξέρει κανείς πως βάζουμε στο openoffice spreadsheet αυτόματα σε μία στήλη σειρά από ημερομηνίες με την ελληνική σύνταξη
( όνομα μέρας μέρα-μήνας-έτος ) ???

εγώ δεν το βρήκα αλλά δεν έχω ασχοληθεί ποτέ ιδιαίτερα με office και openffice
ευτυχώς έκανα την δουλειά μου με το bash shell :)
;)