Isle Δημοσ. 4 Οκτωβρίου 2005 Δημοσ. 4 Οκτωβρίου 2005 Νομιζω οτι ο τιτλος τα λεει ολα... Διαβαζα σε ενα HOWTO και εχω φτασει σε αυτην αλλα δεν καταλαβαινω.Μεχρι εκει εχω μαθει τις πιο απλες οπως ls, find, κτλ αλλα αυτην δεν μπορω να την καταλαβω.
Axelfc Δημοσ. 4 Οκτωβρίου 2005 Δημοσ. 4 Οκτωβρίου 2005 Η grep χρησιμοποιειται συνηθως σε συνδυασμο με αλλες εντολες και χρησιμευει για να εντοπιζει καποια αλληλουχια χαρακτηρων μεσα στα αποτελεσματα της αλλης εντολης. Για παραδειγμα εστω οτι ειμαστε μεσα σε ενα φακελο που εχει 3 αρχεια a,b,c αν δωσεις "ls" το αποτελεσμα θα ειναι a,b,c ενω αν δωσεις "ls | grep a" το αποτελεσμα θα ειναι a. Ο χαρακτηρας | χρησιμοποιειται για να στελνεις το output μιας εντολης στο input μιας αλλης. Γενικα η grep ειναι πολυ χρησιμη εντολη με παρα πολλες παραμετρους και δυνατοτητες. Αυτα εν συντομια.
Isle Δημοσ. 4 Οκτωβρίου 2005 Μέλος Δημοσ. 4 Οκτωβρίου 2005 Φοβαμαι πως δεν καταλαβαινω.Μπορεις να μου εξηγησεις σε παρακαλω χωρις να εμπλεξεις και τα pipes γιατι γινεται πιο δυσκολο.
tzoykas Δημοσ. 4 Οκτωβρίου 2005 Δημοσ. 4 Οκτωβρίου 2005 Ta diabazeis apo biblio h exeis kai to pc anoixto? An nai panta mporeis na grapseis: man <command> (sthn periptwsh sou man grep) gia na deis th selida tou manual. 9 stis 10 9a breis e3hghsh se auto pou psaxneis.
Isle Δημοσ. 4 Οκτωβρίου 2005 Μέλος Δημοσ. 4 Οκτωβρίου 2005 Τα man pages ειναι πολυπλοκα και πιο δυσκολα και απο το βιβλιο που διαβαζω(που σχετικα ειναι απλο).Το βιβλιο, μαλλον αρχειο pdf μπορεις να πεις, λεγεται intro-linux και το βρηκα στο tldp.org.Η εξηγηση για την εντολη ειναι η εξης: A simple but powerful program, grep is used for filtering input lines and returning certain patterns to the output. There are literally thousands of applications for the grep program. In the example below, jerry uses grep to see how he did the thing with find: jerry:~> grep −a find .bash_history find . −name userinfo man find find ../ −name common.cfg Δυστυχως, δεν καταλαβαινω.
My8os Δημοσ. 4 Οκτωβρίου 2005 Δημοσ. 4 Οκτωβρίου 2005 Κάνε το παρακάτω σα παράδειγμα μήπως βοηθήσει. Άνοιξε ένα αρχείο, γράψε ενα κειμενάκι αλλάζοντας γραμμές και μετά γράψε σε κονσόλα: (έστω οτι το αρχείο σου λέγετε test και ότι θες να βρείς την λέξη and): > grep and test Η εντολή αυτή θα σου επιστρέψει όλες τις γραμμές του κειμένου σου που έχουν μέσα τη λέξη and. Κάνε και ένα grep --help να δείς και τι παραμέτρους μπορεις να βάλεις.
cassidy Δημοσ. 4 Οκτωβρίου 2005 Δημοσ. 4 Οκτωβρίου 2005 Κοίτα, την grep τη χρησιμοποιείς για να εντοπίσεις μια λέξη (ή λέξεις) μέσα σε ένα αρχείο. Σαν αποτέλεσμα σου δίνει ΤΙΣ ΓΡΑΜΜΕΣ ΤΟΥ κειμένου που περιέχουν τη λέξη που ψάχνεις. To παραπάνω παράδειγμα είναι πολύ μπερδεψιάρικο και έτσι όπως το πέταξες ξεκάρφωτο ψάρωσα λίγο. Να αναλύσουμε το παράδειγμα. >grep find .bash_history Βρες το "find" μέσα στο αρχείο ".bash_history" Προφανώς το .bash_history κρατάει όλες τις εντολές που δίνεις σε κονσόλα. Δώσε $ less .bash_history για να το διαπιστώσεις με τα μάτια σου Το αποτέλεσμα της παραπάνω εντολής είναι το >find . −name userinfo man find find ../ −name common.cfg που προφανώς είναι εντολές που έχει δώσει ο jerry στο παρελθόν και περιέχουν τη λέξη find μέσα. Για να σου δώσω ένα πιο κατανοητό παράδειγμα, φαντάσου πως έχεις ένα αρχείο που έχει μέσα το τηλεφωνικό σου κατάλογο. Σε κάθε γραμμή έχεις όνομα, τηλέφωνο και διεύθυνση. Έστω το αρχείο phonebook.text Με grep phonebook Γιώργος θα έχεις σαν αποτέλεσμα όλες τις γραμμές που περιέχουν το όνομα αυτό, τη μια κάτω από την άλλη. Είναι πολύ χρήσιμη όταν χρησιμοποιείται σε συνδυασμό με pipes ενώ όλα τα λεφτά είναι τα patterns που μπορείς να δηλώσεις. Θα ψάξω να βρω που αναφέρονται όλα να στο στείλω. YΓ1: το βρήκα τα patterns λέγονται "regular expressions" http://sitescooper.org/tao_regexps.html YΓ2: Μάθε να χρησιμοποιείς τη man Είναι όλα θέμα ψαρώματος. Μέτα από λίγο θα συνηθίσεις να αγνοείς τα πολύπλοκα που δε σε ενδιαφέρουν και να βρίσκεις πιο γρήγορα τα απολύτως αναγκαία. Αν μάθεις να χρησιμοποιείς τη man σωστά είσαι στο σωστό δρόμο για να γίνεις Linux Guru :Δ Γι αυτό κάνε γρήγορα man man YΓ3: η grep σε συνδυασμό με τα pipes σου λύνει τα χέρια. Όταν το output μιας εντολής είναι τεράστιο, κοτσάρεις κι ένα | grep από δίπλα για να βρεις ακριβώς αυτό που θες και να μη τυραννιέσαι πχ δώσε πρώτα ps -e και μετά ps -e | grep mozilla
Isle Δημοσ. 4 Οκτωβρίου 2005 Μέλος Δημοσ. 4 Οκτωβρίου 2005 Η εξηγηση του cassidy ηταν εξαιρετικη και μετα απο λιγη ωρα το καταλαβα!Ευχαριστω cassidy.Αυτο που με μπερδεψε στην εξηγηση ηταν το find που εβαλε σαν λεξη-κλειδι για αναζητηση στο grep ενω εγω νομιζα πως το εδινε σαν εντολη.Αλλα νομιζω οτι εχεις κανει λαθος με το: grep phonebook Γιώργος γιατι το Γιώργος υποθετω μπαινει πριν το phonebook.Αλλα ενταξει, λεπτομερειες.Σχετικα με το πρωτο ΥΓ, ομως δεν καταλαβα, και γενικα, ακομα δεν εχω καταλαβει τι ειναι τα patterns.Επισης, σχετικα με το τριτο ΥΓ, δεν χρησιμοποιω mozilla, αλλα opera ;D
tzoykas Δημοσ. 4 Οκτωβρίου 2005 Δημοσ. 4 Οκτωβρίου 2005 Αλλα νομιζω οτι εχεις κανει λαθος με το: grep phonebook Γιώργος γιατι το Γιώργος υποθετω μπαινει πριν το phonebook. Ωπ το πιασε ο νέος . Είδες; μια χαρά θα τα πας και όπως είπε και ο cassidy είναι θέμα ψαρώματος. Επανάληψη μήτηρ πάσης μαθήσεως. Υπομονή και θα βγάλεις άκρη σύντομα. ακομα δεν εχω καταλαβει τι ειναι τα patterns. Είναι γενικός όρος (ειδικά αυτή τη στιγμή για σένα). Όμως patterns, regular expressions και filters/pipes είναι πράγματα που θα συναντάς πολύ συχνά, είναι εξαιρετικά χρήσιμα και ισχυρά εργαλεία (έννοιες) και καλό θα ήταν να τα ψάξεις. Προς το παρόν μη πελαγώνεις από τον όγκο της πληροφορίας. Πάρ'τα με τη σειρά και εδώ είμαστε και μεις . Τα patterns πάντως έχουν την ίδια έννοια και στον υπολογιστή. Μπορεί να μεταφραστεί σαν διάταξη/σχέδιο/παράσταση. Letter pattern πχ = Διάταξη γραμμάτων. Ελπίζω να το κάναμε έστω και λίγο πιο ξεκάθαρο. Για να προσθέσω σε αυτά που είπε ο cassidy το "man" είναι σημαντικότατο εργαλείο και πηγή πληροφοριών. Σε λίγο καιρό θα ψάχνεις μόνο εκεί (για εντολές του συστήματος και ρουτινες C/C++/Fortran κτλ) Μόνο να διορθώσω ότι patterns είναι οι παραστάσεις και regular expressions είναι η διατάξεις που χρησιμοποιείς για να συγκρίνεις/αναζητήσεις patterns. Σχετίζονται άμεσα αλλά είναι διαφορετικά πράγματα.
cassidy Δημοσ. 4 Οκτωβρίου 2005 Δημοσ. 4 Οκτωβρίου 2005 Ιsle μ'έπιασες! Πάντως καλά κάνεις κι ασχολείσαι με κονσόλα, έχει να σου δώσει πολλά. Μετά θα χαίρεσαι να φτιάχνεις δικά σου script-άκια συνδυάζοντας 4-5 απλές εντολές για να κάνεις τη δουλειά σου, χωρίς να χρειάζεται να κατεβάζεις "εξειδικευμένα" προγράμματα
Isle Δημοσ. 4 Οκτωβρίου 2005 Μέλος Δημοσ. 4 Οκτωβρίου 2005 Ωραια, σας ευχαριστω... Δυστυχως, οπως ειπα πριν, τα man pages ειναι δυσκολα στην αναγνωση, για να απαντησω στον tzouka.Ομως, οπως ειπε ο cassidy, ειναι ολο θεμα ψαρεματος. Αυτο παντως με τα script-ακια μου αρεσε και μου ανοιγει ακομα περισσοτερο την ορεξη. Θα ηταν ωραια ομως αν μπορουσατε να με βοηθησετε κι εδω Μαλλον πρεπει να ανοιχτει θεμα:Οι ερωτησεις του Isle :wink: Σας ευχαριστω και παλι...
Bspus Δημοσ. 5 Οκτωβρίου 2005 Δημοσ. 5 Οκτωβρίου 2005 Pigaine sto http://www.ss64.com Ekei exei tis pio polles entoles tou bash gia to linux. Ousiastika exei mazepsei ta man pages se ena oraio paketaki website. Mporeis me programmata san to blackwidow i to httpweazel na katebaseis olo to site offline kai na to vlepeis apo to skliro sou. Ego auto exo kanei. To brisko poly pio ergonomiko apo to klassiko man eno dinei kai paraplisies entoles kai antistoixies me alla OS pou mporei na voithisoun
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.