NullScan Δημοσ. 21 Αυγούστου 2008 Share Δημοσ. 21 Αυγούστου 2008 1) Ναι αυτό θα δουλέψει ή διαφορετικά μπορείς να δηλώσεις για input file το pseudo file "-" και να κάνεις redirect το περιεχόμενο ενός αρχείου στο stdin που σημαίνει αυτό το ιδιέταιρο αρχείο. Δηλαδή: >crontab - < cat filename 2) Γι αυτήν την περίπτωση εξαρτάται ακριβώς πως θέλεις να το κάνεις. Αν είναι πάντα η δεύτερη γραμμή που θέλεις ή αν είναι πάντα η τελευταία ή αν θέλεις να λές εσύ στο script ποιά γραμμή θέλεις να σβήνεται. Κατ' αρχάς πρέπει να κάνεις cat το cromtab και να φιλτράρεις τις γραμμές που είναι σχόλια με ένα RE σαν αυτό: > $iL =~ !m/^#/ Μετά με έναν counter μετράς ποιος αριθμός γραμμής είναι αυτός που διάβασες και ανάλογα με τις προυποθέσεις που σου είπα επάνω κάνεις αυτό τη γραμμή echo στο stdit της crontab ή αν είναι ο αριθμός γραμμής που σε ενδιαφέρει τον αγνοείς. Σε λίγο μπορώ να σου ανεβάσω ένα script που θα το κάνει εκτός αν θές να το κάνεις για εξάσκηση. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
ftso Δημοσ. 21 Αυγούστου 2008 Share Δημοσ. 21 Αυγούστου 2008 Στο 1) με μπερδέψατε λίγο. Όταν εκτελώ με sudo πειράζεται μόνο το αρχείο του root αν δεν δηλώσω κάποιον χρήστη, έτσι? Λοιπόν όπως είπαμε έχω ένα ήδη υπάρχον job στον cron: ># router auto reboot 5,15,25,35,45,55 * * * * /usr/bin/routerreboot.sh # This file was written by KCron. Copyright (c) 1999, Gary Meyer # Although KCron supports most crontab formats, use care when editing. # Note: Lines beginning with "#\" indicates a disabled task. Τώρα θέλω να πάω να του βάλω και αυτό το οποίο βρίσκετε στο αρχείο tsa.txt (χωρίς να πειραχτούν τα υπόλοιπα jobs): >5,15,25,35,45,55 * * * * /usr/bin/lalalala.sh οπότε εκτελώ: >cat <(sudo crontab -l) tsa.txt | crontab - ή ??? >sudo crontab - < cat tsa.txt Θα με βόλευε αντί για το αρχείο tsa.txt να έχω μια μεταβλητή η οποία έχει τιμή το job αν γίνετε. Ωραία τώρα ας πούμε οτι πρόσθεσα το νέο job. Αν θέλω να το σβήσω εκτελώ: >crontab -l | sed 'σβήσε_ό,τι_θες' | crontab - Συγκεκριμένα θέλω να σβήσω μόνο το job που έχει την λέξη "lalalala.sh" (sed -e '/lalalala.sh/d' θα πρέπει να γίνει? ) Εκτελώντας τα παραπάνω υποθέτω οτι μπαίνουν αυτόματα σε εφαρμογή...ή όχι? Σε περίπτωση σφάλματος θα μου εμφανιστεί το μήνυμα που λέει οτι έχω λάθος? Καλά το τελευταίο θα το δοκιμάσω κιόλας... Ευχαριστώ και πάλι για την βοήθεια. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
apoikos Δημοσ. 21 Αυγούστου 2008 Share Δημοσ. 21 Αυγούστου 2008 Στο 1) με μπερδέψατε λίγο.Όταν εκτελώ με sudo πειράζεται μόνο το αρχείο του root αν δεν δηλώσω κάποιον χρήστη, έτσι? Ναι Θα με βόλευε αντί για το αρχείο tsa.txt να έχω μια μεταβλητή η οποία έχει τιμή το job αν γίνετε. Τότε μπορείς στο script σου να έχεις: > job="*/10 * * * * /bin/true { crontab -l echo $job } | crontab - Ή ακόμα καλύτερα, να φτιάξεις μια συνάρτηση > add_cron_job(){ { crontab -l echo $@ } | crontab - } Και στη συνέχεια να την καλείς: > add_cron_job "$job" Ωραία τώρα ας πούμε οτι πρόσθεσα το νέο job. Αν θέλω να το σβήσω εκτελώ: >crontab -l | sed 'σβήσε_ό,τι_θες' | crontab - Συγκεκριμένα θέλω να σβήσω μόνο το job που έχει την λέξη "lalalala.sh" (sed -e '/lalalala.sh/d' θα πρέπει να γίνει? ) Ναι, αυτό θα δουλέψει. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
ftso Δημοσ. 21 Αυγούστου 2008 Share Δημοσ. 21 Αυγούστου 2008 Ευχαριστώ και πάλι. Αυτό με τις αγκύλες μου διέφευγε: > { crontab -l echo $@ } | crontab - Πάω για διάβασμα και εφαρμογή λοιπόν... Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
ftso Δημοσ. 22 Αυγούστου 2008 Share Δημοσ. 22 Αυγούστου 2008 Πάλι κόλλησα! Έχουμε την εντολή : >sed 's/^name=.*/name="'"$a"'"/' -i "$0" η οποία δουλεύει μαι χαρά αν εισάγω οτιδήποτε χαρακτήρες εκτός απο το "/". Έλα που εγώ όμως θέλω στο a να εισάγω τιμές όπως: /home ή /home /root /boot/grub ktl. Δηλαδή ένα ή περισσότερους καταλόγους... Το σφάλμα που παίρνω είναι περίπου σαν και αυτό: >sed: -e expression #1, char 50: unknown option to `s' Έχω δοκιμάσει διάφορα αλλά πάλι τα ίδια, δεν καταφέρνω τίποτα αποτελεσματικό... Κάποια βοήθεια? Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
apoikos Δημοσ. 22 Αυγούστου 2008 Share Δημοσ. 22 Αυγούστου 2008 Πάλι κόλλησα! Έχουμε την εντολή : >sed 's/^name=.*/name="'"$a"'"/' -i "$0" η οποία δουλεύει μαι χαρά αν εισάγω οτιδήποτε χαρακτήρες εκτός απο το "/". Έλα που εγώ όμως θέλω στο a να εισάγω τιμές όπως: /home ή /home /root /boot/grub ktl. Δηλαδή ένα ή περισσότερους καταλόγους... Δοκίμασε > sed "s,^name=.*,name=\"$a\"," (Με λίγο απλουστευμένα και τα εισαγωγικά) Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
ftso Δημοσ. 22 Αυγούστου 2008 Share Δημοσ. 22 Αυγούστου 2008 OK το βρήκα απο το link που μου είχες δώσει: The usual delimiter that sed uses is /. However, sed allows other delimiters, such as %. This is useful when / is part of a replacement string, as in a file pathname. See Example 10-9 and Example 15-32. Οπότε το έκανα έτσι: >sed 's%^name=.*%name="'"$a"'"%' -i "$0" Τώρα έχω ακόμα μια ερώτηση αν έχετε κάτι στο μυαλό σας. Λοιπόν έχουμε την μεταβλητή: a=/boot και b=/boot/grub υπάρχει κάποιος τρόπος να τεστάρω αν το a είναι υποκατάλογος του b και το αντίθετο? Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
apoikos Δημοσ. 22 Αυγούστου 2008 Share Δημοσ. 22 Αυγούστου 2008 man basename man dirname ;-) Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
ftso Δημοσ. 22 Αυγούστου 2008 Share Δημοσ. 22 Αυγούστου 2008 man basenameman dirname ;-) Thanks! Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
capthookb Δημοσ. 16 Σεπτεμβρίου 2008 Share Δημοσ. 16 Σεπτεμβρίου 2008 Ένα script για να βρίσκει και να κατεβάζει κανείς υπότιτλους εύκολα από το greeksubs.com. Μπορεί να επεκταθεί ώστε να αναγνωρίζει αν το αρχείο που κατέβηκε είναι rar/zip ή κείμενο και να κάνει extract τους υπότιτλους. Το directory στο οποίο θα τρέξει το script πρέπει να είναι εγγράψιμο. findsubs.txt Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
mikeXx Δημοσ. 17 Σεπτεμβρίου 2008 Share Δημοσ. 17 Σεπτεμβρίου 2008 capthookb, ωραίο το script σου, με βόλεψε. Έκανα μερικές μετατροπές λοιπόν για να γίνει λίγο πιο εύχρηστο. Τώρα υποστηρίζει τη λήψη πολλών αρχείων (ή όλων). Επιπλέον, το να σώζεις το αποτέλεσμα του query στο αρχείο index.html κάνοντας το overwrite δεν είναι καθόλου καλή ιδέα (πολύ εύκολα μπορεί κάποιος να χάσει έτσι κάποιο αρχείο με το ίδιο όνομα). Μια λύση είναι η χρήση ενός tempfile, π.χ. με > TMPFILE=`mktemp -t greeksubs.XXXXXX` || exit 1 ... rm -f "$TMPFILE" Διαφορετικά, για περιπτώσεις που το μέγεθος των δεδομένων είναι μικρό, μπορείς να αποθηκεύσεις το αποτέλεσμα σε μια μεταβλητή, όπως επέλεξα εγώ. Επίσης πρόσεξα ότι δεν επιστρέφει όσα αποτελέσματα και το search στο site, γιατί χρησιμοποιεί το initial, ενώ το search είναι διαθέσιμο μόνο με POST method. Στέλνω λοιπόν τα queries με POST (με το curl). Αν κάποιος προτιμάει την προηγούμενη συμπεριφορά, μπορεί να αντικαταστήσει τη γραμμή με το curl με την από πάνω (και να αποκαταστήσει το αρχικό SEARCHSEL). Τέλος έβγαλα μερικά παραπανίσια grep, το διόρθωσα ώστε να υποστηρίζει ονόματα με spaces, και να μετατρέπει τους ελληνικούς χαρακτήρες από iso8859-7 σε utf8 (αν κάποιος δεν το θέλει αυτό μπορεί να κάνει comment out τις τρεις γραμμές μετά το 'which'). Η σύνταξη του script είναι bash-specific, και του sed GNU-specific. Απαιτούνται επιπλέον τα εργαλεία wget και curl. Κάντε rename σε gs.sh, chmod +x και είστε έτοιμοι : Ρ gs.sh.txt Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
apoikos Δημοσ. 17 Σεπτεμβρίου 2008 Share Δημοσ. 17 Σεπτεμβρίου 2008 mikeXx: περιμένουμε την έκδοση σε haskell Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
capthookb Δημοσ. 17 Σεπτεμβρίου 2008 Share Δημοσ. 17 Σεπτεμβρίου 2008 Ε μα δεν άφησες και τίποτα όρθιο χεχε (πλάκα κάνω έτσι). Να φανταστείς εγώ χρησιμοποιούσα μια ακόμα απλούστερη έκδοση και έβαλα μερικούς ελέγχους ώστε να το ποστάρω εδώ. Επίσης θα μπορούσε να προστεθούν κι άλλα sites στην αναζήτηση π.χ insomnia. κτλ κτλ για όποιον έχει όρεξη και χρόνο. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
firewalker Δημοσ. 3 Οκτωβρίου 2008 Share Δημοσ. 3 Οκτωβρίου 2008 Χρειάστηκα το script του poscaman (thanks m8) και το τροποποίησα και λίγο... :-) > #!/bin/bash #Image Width Converter Black='\e0;30m' Blue='\e0;34m' Green='\e0;32m' Cyan='\e0;36m' Red='\e[0;31m' Purple='\e[0;35m' Brown='\e[0;33m' Light_Gray='\e[0;37m' Dark_Gray='\e[1;30m' Light_Blue='\e[1;34m' Light_Green='\e[1;32m' Light_Cyan='\e[1;36m' Light_Red='\e[1;31m' Light_Purple='\e[1;35m' Yellow='\e[1;33m' White='\e[1;37m' No_Color='\033[0m' # clear; DIMENSION="$1" DIR="$2" if [ -z $DIMENSION ] ; then echo echo echo -e "${Light_Green}Usage: imgresize DIMENSION DIRECTORY. e.g. imgresize 800" echo -e "${Light_Cyan}Example: imgresize 800" echo -e "${Light_Green}The DIRECTORY parameter is optional. If blank the curent dir is used.${No_Color}" echo exit fi if [ -z $DIR ] ; then DIR=`pwd` echo "Current directory is used: $DIR" echo fi echo "Convert recurcively (y/n)?" read yn [ $yn != y ] && DEPTH="-maxdepth 1" find $DIR $DEPTH -iname '*.jpg' -print0 | xargs -0 -I '\1' convert '\1' -resize $DIMENSION '\1' # clear echo echo -e "${Light_Red}Successful recursive conversion:.JPG,.jpg, $DIMENSION width${No_Color}" Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
suser Δημοσ. 3 Οκτωβρίου 2008 Share Δημοσ. 3 Οκτωβρίου 2008 Ένα script για να βρίσκει και να κατεβάζει κανείς υπότιτλους εύκολα από το greeksubs.com. Μπορεί να επεκταθεί ώστε να αναγνωρίζει αν το αρχείο που κατέβηκε είναι rar/zip ή κείμενο και να κάνει extract τους υπότιτλους. Το directory στο οποίο θα τρέξει το script πρέπει να είναι εγγράψιμο. wget: μη αναγνωρίσιμη επιλογή `--content-disposition' Χρήση: wget [ΕΠΙΛΟΓΗ]... ... Δοκιμάστε `wget --help' για περισσότερες επιλογές ρυθμίσεων. Αυτό μου έβγαλε εμένα όταν το έτρεξα!! Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα