Οι εντολές grep, fgrep, egrep, rgrep
Υπάρχουν τέσσερις εντολές grep, η γενικής χρήσης grep, η fgrep που δε χρησιμοποιεί μεταχαρακτήρες, η egrep που ειδικεύεται στην αναζήτηση με μεταχαρακτήρες και η rgrep που δρα αναδρομικά σε καταλόγους. Συγκεκριμένα,
-
Η fgrep ειδικεύεται στην αναζήτηση αυτούσιων κομματιών κειμένου, χωρίς την ανάγκη χρήσης μεταχαρακτήρων όπως *, ?, $, ^, κλπ.
-
Η egrep χρησιμοποιεί το πλήρες σύνολο των μεταχαρακτήρων και κανονικών παραστάσεων και θεωρείται η πιο γρήγορη από τις τρεις.
-
Η rgrep δεν είναι άλλο από αναδρομική grep (ενεργοποιεί την επιλογή -r στη grep).
Στην πραγματικότητα δεν πρόκειται για τεσσερις διαφορετικές εντολές αλλά για συντομεύσεις της ίδιας εντολής. Σε παλαιότερα συστήματα UNIX ήταν όντως τρείς εντολές (grep, fgrep, egrep) αλλά στο πακέτο GNU grep που διανέμεται με το Debian, πρόκειται για μία εντολή με επιπλέον τρια σενάρια κελύφους που λειτουργούν ως wrappers(?): fgrep, egrep και rgrep.
Η σύνταξή της είναι η εξής:
grep [OPTIONS] pattern file
Για την grep ισχύουν οι εξής επιλογές:
-f FILE--file FILE | Πραγματοποιεί την αναζήτηση χρησιμοποιώντας τις κανονικές παραστάσεις ή το κείμενο που περιέχεται στο αρχείο FILE. |
-i--ignore-case | Αγνοεί τις διαφορές μεταξύ πεζών-κεφαλαίων γραμμάτων. |
-l--files-with-matches | Εμφανίζει μόνο τους τίτλους των αρχείων για τα οποία πέτυχε η αναζήτηση. |
-L--files-without-matches | Εμφανίζει μόνο τους τίτλους των αρχείων για τα οποία απέτυχε η αναζήτηση. |
-n--line-number | Εμφανίζει τις γραμμές αριθμημένες. |
-v--invert-match | Αντιστρέφει την αναζήτηση. Αναζητά γραμμές κειμένου που δεν ταιριάζουν με το δοθέν κείμενο ή κανονική παράσταση. |
Ταξινόμηση αρχείων κειμένου
Η εντολή sort
Η σύνταξη της εντολής είναι:
sort [OPTIONS] file1 ...Σύγκριση αρχείων
Η εντολή cmp
Για απλή σύγκριση δυαδικών αρχείων χρησιμοποιούμε την εντολή cmp. Δύο δυαδικά αρχεία δεν είναι δυνατόν να θεωρηθούν “περίπου” ίδια, έτσι η εντολή συγκρίνει δύο αρχεία byte προς byte. Αυτό που μπορούμε να παραμετροποιήσουμε είναι το σημείο εκκίνησης, ωστόσο αν υπάρχει έστω και ένα byte διαφορετικό, τα αρχεία θεωρούνται διαφορετικά και η εντολή επιστρέφει κωδικό αποτυχίας.
Η σύνταξη της cmp είναι η εξής:
cmp [options] file1 file2
-b--print-bytes | Εμφανίζει τα διαφορετικά bytes. |
-i SKIP--ignore-initial=SKIP | Ξεκινά τη σύγκριση μετά απο SKIP bytes. |
-i SKIP1:SKIP2--ignore-initial=SKIP1:SKIP2 | Ξεκινά τη σύγκριση μετά απο SKIP1 bytes για το file1 και SKIP2 bytes για το file2. |
-l--verbose | Εμφανίζει πληροφορίες για όλα τα διαφορετικά bytes (θέσεις και τιμές). |
-n N--bytes=N | Η σύγκριση να γίνει για το πολύ N bytes. |
-s--quiet--silent | Η έξοδος να είναι σιωπηλή, να επιστραφεί μόνο ο κωδικός επιτυχίας ή αποτυχίας του προγράμματος. |
Η εντολή comm
Η εντολή comm συγκρίνει δύο προηγουμένως ταξινομημένα αρχεία και εμφανίζει επιλεκτικά τρεις στήλες: μια με τις γραμμές που υπάρχουν μόνο στο πρώτο αρχείο, μια με τις γραμμές που υπάρχουν μόνο στο δεύτερο αρχείο και μια με τις κοινές γραμμές. Αυτή η παραμετροποίηση είναι και η μόνη επιλογή που δέχεται η εντολή. Συγκεκριμένα:
comm [-N] file1 file2
όπου -N ο αριθμός του οποίου τα ψηφία αποτελούνται από τις στήλες που επιλέγετε να εμφανιστούν, δηλαδή για τις στήλες 1 και 3 θα πρέπει να δώσετε:
comm -13 file1 file2
Η εντολή diff
Η εντολή diff είναι ένα ισχυρό εργαλείο για σύγκριση αρχείων ακόμη και καταλόγων και μπορεί να παραμετροποιηθεί σε μεγάλο βαθμό.
Η σύνταξη της diff δεν διαφέρει από των άλλων εντολών που έχουμε δεί ως τώρα:
diff [OPTIONS] file1 file2
ή για σύγκριση καταλόγων
diff [OPTIONS] dir1 dir2
όπου dir1, dir2 τα ονόματα των καταλόγων που θέλουμε να συγκρίνουμε.
Η diff προσφέρει μια πληθώρα από επιλογές, από τις οποίες θα αναφέρουμε τις σημαντικότερες:
| Επιλογές | Λειτουργία |
|---|---|
-i--ignore-case | Αγνοεί τις διαφορές μεταξύ πεζών-κεφαλαίων γραμμάτων. |
-b--ignore-space-change | Αγνοεί τις αλλαγές που οφείλονται σε κενούς χαρακτήρες. |
-w--ignore-all-space | Αγνοεί όλους τους κενούς χαρακτήρες. |
-B--ignore-blank-lines | Αγνοεί όλες τις κενές γραμμές. |
-a--text | Αντιμετωπίζει όλα τα αρχεία ως αρχεία κειμένου. |
-c-C NUM--context[=NUM] | Εμφανίζει Ν (προκαθορισμένη τιμή 3) γραμμές αντιγραμμένου περιεχομένου. |
-u-U N--unified[=N] | Εμφανίζει Ν (προκαθορισμένη τιμή 3) γραμμές ενωποιημένου περιεχομένου. |
-y--side-by-side | Εμφάνιση σε δύο στήλες. |
-r--recursive | Αναδρομική σύγκριση των καταλόγων και των περιεχομένων αρχείων τους. |
-N--new-file | Αντιμετωπίζει μή υπάρχοντα αρχεία ως άδεια (για να μπορεί να κάνει τη σύγκριση, διαφορετικά επιστρέφει μήνυμα λάθους). |
Ο τρόπος του ενωποιημένου περιεχομένου είναι και αυτός που χρησιμοποιείται κατά κόρον για την δημιουργία patches.
| Επόμενο > |
|---|















nice
nice
Borse Designer,Gucci Sito Ufficiale http://www.guccioutletsito2012....
Borse Designer,Gucci Sito Ufficiale conosciuto per essere il miglio...