Τα πάντα για το Bash...

...του ubuntu και έργων ΕΛ/ΛΑΚ (Έργα-Οδηγοί-Προτάσεις)

Συντονιστής: konnn

Re: Τα πάντα για το Bash...

Δημοσίευσηαπό sokoban4ever » 07 Φεβ 2010, 10:19

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 :)
;)
Θέλουμε και μπορούμε να έχουμε μια καλύτερη ζωή και όσο θα ζούμε θα προσπαθούμε να την αποκτήσουμε ακόμα και αν πεθάνουμε προσπαθώντας, και αν κάποια στιγμή λιγίσουμε έχουμε το επίπεδο να πούμε κουράστηκα λίγο να ,να ξαποστάσουμε , ώστε να συνεχίσουμε πάλι δυνατοί ξανά.

Μήνυμα με αγάπη και αληλλεγγύη σε όλους τους ανθρώπους από όλους τους λαούς , ιδίως του Ελληνικού.
Άβαταρ μέλους
sokoban4ever
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 2331
Εγγραφή: 13 Φεβ 2009, 02:22
Εκτύπωση

Re: Τα πάντα για το Bash...

Δημοσίευσηαπό mparmpathomas » 07 Φεβ 2010, 13:22

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

Πας στην διαμόρφωση του κελιού (δεξί κλικ στο κελί) και στην πρώτη καρτέλα (Number) κάνεις ένα user defined format code της μορφής
Κώδικας: Επιλογή όλων
NNN DD-MM-YY

για να γράψεις Όνομα μέρα-μήνας-έτος. Αν θες να έχει και κόμμα μετά το όνομα ο κωδικός γίνεται
Κώδικας: Επιλογή όλων
NNNN DD-MM-YY
Αν θες το έτος να είναι 4ων ψηφίων τότε προσθέτεις άλλα 2 Y
Κώδικας: Επιλογή όλων
NNNN DD-MM-YYYY

Αν γράψεις την πρώτη ημερομηνία, μετά σέρνεις το κελί από την κάτω δεξιά γωνία και συμπληρώνει αυτόματα τα υπόλοιπα κελιά. Σταματάς όπου θες.
Μπορείς να αφήσεις και μεγαλύτερα κενά, μιας εβδομάδος για παράδειγμα (δηλαδή να σου εμφανίζει κάθε Δευτέρα). Για να το κάνεις αυτό, πρέπει να γράψεις πάλι στο πρώτο κελί, αλλά και στο δεύτερο την κατάλληλη ημερομηνία. Μετά πιάνεις την κάτω δεξιά και των δύο επιλεγμένων κελιών και σέρνεις όσο θες. Αν έχεις εφαρμόσει το format που κάναμε και σε άλλα κελιά, δεν χρειάζεται να γράψεις καν την ημέρα. Την συμπληρώνει αυτόματα.
Έχει και αρκετά έτοιμα format για το κελί, αν επιλέξεις Date στην κατηγορία, και την ελληνική γλώσσα στα δεξιά. Αλλά όχι αυτό το συγκεκριμένο.
Linux: Μέτριο ┃ Προγραμματισμός: Όχι ┃ Αγγλικά: Άριστα
Ubuntu 10.10 64bit σε Laptop: HP Pavilion DV3560ev
P8400 @ 2.26GHz │ 3 GB (DDR2 SDRAM) │ GeForce 9300M GS │ PRO/Wireless 5100 AGN by Intel │ 82801I (ICH9 Family) HD Audio Controller by Intel │ 13,3 LED Screen @ 1280x800
Άβαταρ μέλους
mparmpathomas
dudeTUX
dudeTUX
 
Δημοσιεύσεις: 329
Εγγραφή: 20 Νοέμ 2009, 11:26
Τοποθεσία: Θεσσαλονίκη
IRC: mparmpathomas
Εκτύπωση

Re: Τα πάντα για το Bash...

Δημοσίευσηαπό sokoban4ever » 07 Φεβ 2010, 23:20

@mparmpathomas
thanks :thumbup:
θα το δοκιμάσω και θα πω εντυπώσεις :P
Θέλουμε και μπορούμε να έχουμε μια καλύτερη ζωή και όσο θα ζούμε θα προσπαθούμε να την αποκτήσουμε ακόμα και αν πεθάνουμε προσπαθώντας, και αν κάποια στιγμή λιγίσουμε έχουμε το επίπεδο να πούμε κουράστηκα λίγο να ,να ξαποστάσουμε , ώστε να συνεχίσουμε πάλι δυνατοί ξανά.

Μήνυμα με αγάπη και αληλλεγγύη σε όλους τους ανθρώπους από όλους τους λαούς , ιδίως του Ελληνικού.
Άβαταρ μέλους
sokoban4ever
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 2331
Εγγραφή: 13 Φεβ 2009, 02:22
Εκτύπωση

Re: Τα πάντα για το Bash...

Δημοσίευσηαπό sokoban4ever » 09 Φεβ 2010, 01:49

@mparmpathomas
το
Κώδικας: Επιλογή όλων
NNN  DD-MM-YYYY

είναι ακριβώς αυτό που πρέπει ευχαριστώ :thumbup:
Θέλουμε και μπορούμε να έχουμε μια καλύτερη ζωή και όσο θα ζούμε θα προσπαθούμε να την αποκτήσουμε ακόμα και αν πεθάνουμε προσπαθώντας, και αν κάποια στιγμή λιγίσουμε έχουμε το επίπεδο να πούμε κουράστηκα λίγο να ,να ξαποστάσουμε , ώστε να συνεχίσουμε πάλι δυνατοί ξανά.

Μήνυμα με αγάπη και αληλλεγγύη σε όλους τους ανθρώπους από όλους τους λαούς , ιδίως του Ελληνικού.
Άβαταρ μέλους
sokoban4ever
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 2331
Εγγραφή: 13 Φεβ 2009, 02:22
Εκτύπωση

Re: Τα πάντα για το Bash...

Δημοσίευσηαπό mparmpathomas » 09 Φεβ 2010, 03:15

sokoban4ever έγραψε:είναι ακριβώς αυτό που πρέπει ευχαριστώ :thumbup:

:D
Και φυσικά, υπάρχουν και άλλοι συνδυασμοί. Πάρα πολλοί. Το open office έχει πολύ κατατοπιστική και αναλυτική βοήθεια, που φυσικά περιλαμβάνει και όλα τα format codes!
Μέχρι και το μ.Χ μπορείς να εισαγάγεις αυτόματα.
Linux: Μέτριο ┃ Προγραμματισμός: Όχι ┃ Αγγλικά: Άριστα
Ubuntu 10.10 64bit σε Laptop: HP Pavilion DV3560ev
P8400 @ 2.26GHz │ 3 GB (DDR2 SDRAM) │ GeForce 9300M GS │ PRO/Wireless 5100 AGN by Intel │ 82801I (ICH9 Family) HD Audio Controller by Intel │ 13,3 LED Screen @ 1280x800
Άβαταρ μέλους
mparmpathomas
dudeTUX
dudeTUX
 
Δημοσιεύσεις: 329
Εγγραφή: 20 Νοέμ 2009, 11:26
Τοποθεσία: Θεσσαλονίκη
IRC: mparmpathomas
Εκτύπωση

Re: Τα πάντα για το Bash...

Δημοσίευσηαπό ftso » 11 Φεβ 2010, 04:46

Ένα χρωματιστό scriptάκι για την εύκολη διαγραφή παλαιών πυρήνων...
Κώδικας: Επιλογή όλων
#!/bin/bash                                                         
#Copyright (C) 2010 Dimitris Diamantis (aka ftso)                   
#This is free software. You may redistribute copies of it under the terms of
#the GNU General Public License <http://www.gnu.org/licenses/GPL.html>     
#There is NO WARRANTY, to the extent permitted by law.                     

clear
echo -e '\E[35m'"\033[1m### KERNEL CLEANER ###\033[0m"
echo                                                   
echo -e "\033[1mRunning kernel:\033[0m"               
t=`uname -r | cut -c 1-9`                             
echo -e '\E[32m'"\033[1m$t\033[0m"                     

echo -e "\033[1mOther (old) kernels:\033[0m"
u=`ls /boot | grep vmlinuz | cut -d'-' -f2,3 | sed /$t/d`
echo -e '\E[33m'"\033[1m$u\033[0m"
echo -e "\033[1mEnter which you want to remove:\033[0m"
read kernel
echo $u | grep $kernel &> /dev/null
if [ $? -ne 0 ]; then
echo -e '\E[31m'"\033[1mWrong kernel! exit...\033[0m"
exit 1;
fi
g=`echo $kernel | wc -c`
if [ $g -lt 10 ]; then
echo -e '\E[31m'"\033[1mWrong kernel! exit...\033[0m"
tput sgr0
exit 1;
fi


echo -e "\033[1mPackages to remove:\033[0m"
c=`dpkg -l | grep ^ii | grep $kernel | awk -F' ' '{ print $2 }'`
echo -e '\E[36m'"\033[1m$c\033[0m"
echo -ne '\E[31m'"\033[1mRemove them (y/n)?\033[0m"
read -p ":"
if [ "$REPLY" == "y" ]; then
sudo aptitude remove $c
sudo aptitude autoclean
fi
tput sgr0
exit 1;


Φαίνεται καλύτερα σε μαύρο φόντο.
Με CTRL+C σταματάει...
Το χρησιμοποιείται με δικιά σας ευθύνη...
:)
Άβαταρ μέλους
ftso
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 6409
Εγγραφή: 12 Μάιος 2008, 13:40
Τοποθεσία: Αθήνα
IRC: ftso
Εκτύπωση

Re: Τα πάντα για το Bash...

Δημοσίευσηαπό VasilisTsirkinidis » 25 Απρ 2010, 16:16

Μπορείτε να μου πείτε σε ποιό φάκελο πρέπει να βάλω το script που έφτιαξα για να το εκτελώ με το όνομα του απευθείας από τερματικό; Ποιο είναι το αρχείο για κάθε χρήστη σε Ubuntu που έχει όλα τα εκτελέσιμα;
Γνώσεις ⇛ Linux: Μέτριο ┃ Προγραμματισμός: Ναι ┃ Αγγλικά: Καλά
Λειτουργικό ⇛ Ubuntu 9.10 σε desktop pc με GIGABYTE GA-P31-DS3L motherboard (intel p31 express chipset)
Προδιαγραφές ⇛ 2x Intel(R) Core(TM)2 Duo CPU E6550 @ 2.33GHz │ 4124MB (260MB used) │ SVGA PCI - EX SPARKLE 9500GT 512 MB │ HDA-Intel - HDA Intel │ SAMSUNG 2243BWX, 1680x1050
Άβαταρ μέλους
VasilisTsirkinidis
babeTUX
babeTUX
 
Δημοσιεύσεις: 30
Εγγραφή: 11 Δεκ 2009, 20:56
Τοποθεσία: Θεσσαλονίκη
Εκτύπωση

Re: Τα πάντα για το Bash...

Δημοσίευσηαπό ftso » 25 Απρ 2010, 21:30

Φτιάξε τον κατάλογο bin μέσα στο home σου και βάλτο εκεί. Στο επόμενο login θα πρέπει να είναι OK.
Άβαταρ μέλους
ftso
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 6409
Εγγραφή: 12 Μάιος 2008, 13:40
Τοποθεσία: Αθήνα
IRC: ftso
Εκτύπωση

Re: Τα πάντα για το Bash...

Δημοσίευσηαπό VasilisTsirkinidis » 26 Απρ 2010, 13:22

Έφτιαξα τον φάκελο bin μέσα στο /home σαν root γιατί αλλιώς δεν με άφηνε και έβαλα εκεί το script. Αλλά πρέπει να είμαι μέσα στον φάκελο /home/bin για να τρέξει και πρέπει να εκτελέσω
Κώδικας: Επιλογή όλων
./my_script

Έχω δικαιώματα γραφής, ανάγνωσης και εκτέλεσης στο αρχείο.
Γνώσεις ⇛ Linux: Μέτριο ┃ Προγραμματισμός: Ναι ┃ Αγγλικά: Καλά
Λειτουργικό ⇛ Ubuntu 9.10 σε desktop pc με GIGABYTE GA-P31-DS3L motherboard (intel p31 express chipset)
Προδιαγραφές ⇛ 2x Intel(R) Core(TM)2 Duo CPU E6550 @ 2.33GHz │ 4124MB (260MB used) │ SVGA PCI - EX SPARKLE 9500GT 512 MB │ HDA-Intel - HDA Intel │ SAMSUNG 2243BWX, 1680x1050
Άβαταρ μέλους
VasilisTsirkinidis
babeTUX
babeTUX
 
Δημοσιεύσεις: 30
Εγγραφή: 11 Δεκ 2009, 20:56
Τοποθεσία: Θεσσαλονίκη
Εκτύπωση

Re: Τα πάντα για το Bash...

Δημοσίευσηαπό ftso » 26 Απρ 2010, 15:43

όταν λέμε home εννοούμε το /home/<user>
sorry που δεν το ανέφερα.
Οπότε διέγραψε τον κατάλογο bin απο το λάθος σημείο και δημιούργησε τον στο σωστό.
Άβαταρ μέλους
ftso
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 6409
Εγγραφή: 12 Μάιος 2008, 13:40
Τοποθεσία: Αθήνα
IRC: ftso
Εκτύπωση

ΠροηγούμενηΕπόμενο

Επιστροφή στο Ανάπτυξη Λογισμικού / Αλγόριθμοι

cron