Εντολές αρχείων κειμένου 1

E-mail Εκτύπωση PDF
Αξιολόγηση Χρήστη: / 1
ΧείριστοΆριστο 

Τα συστήματα UNIX βασίζονται σε μεγάλο βαθμό σε σενάρια κελύφους για πολλές λειτουργίες τους και αυτά δεν είναι παρά κοινά αρχεία κειμένου. Είναι, λοιπόν, απαραίτητη η ύπαρξη εργαλείων που θα χειρίζονται αυτά τα αρχεία κειμένου. Η ανάγκη αυτή οδήγησε στη δημιουργία μιας πληθώρας εργαλείων για την εμφάνιση και επεξεργασία των αρχείων κειμένου στο UNIX, το καθένα εξειδικευμένο σε μια ή και περισσότερες χρήσεις. Υπάρχουν εργαλεία απλώς για εμφάνιση, για ανάστροφη εμφάνιση, για εμφάνιση με σελιδοποίηση, για εμφάνιση μόνο της κεφαλίδας (header) ή του τέλους του αρχείου, για καταμέτρηση γραμμών, λέξεων ή χαρακτήρων ενός αρχείου κλπ. Θα αναφέρουμε εδώ τα βασικά εργαλεία που θα χρειαστείτε.
“less is more”

Από τα πιο χρήσιμα προγράμματα είναι οι σελιδοποιητές (pagers) που επιτρέπουν την εμφάνιση ενός αρχείου κειμένου ανά σελίδα. Η χρήση τους είναι αρκετά απλή και συχνά προσφέρουν online βοήθεια. Ένα από τα πρώτα προγράμματα σελιδοποιητής που χρησιμοποιείται ακόμη είναι το more, αν και πλέον θεωρείται ξεπερασμένο. Πολύ πιο εύχρηστο και λειτουργικό είναι το πρόγραμμα less που ονομάστηκε έτσι χάριν του λογοπαίγνιου “less is more”!

Και τα δύο προγράμματα είναι πολύ απλά στη χρήση τους και η σύνταξή τους είναι η εξής:

$ more textfile$ less textfile 

Αν και δέχονται επιλογές στην γραμμή εντολών, είναι πιο απλή η παραμετροποίησή τους κατά τη διάρκεια της εκτέλεσής τους. Πατώντας 'h' ανά πάσα στιγμή εμφανίζεται μια οθόνη βοηθείας όπου αναλύεται η χρήση του κάθε προγράμματος.

Εντολές cat και tac

Οι εντολές cat και tac τυπώνουν στην πρότυπη έξοδο το αρχείο ή τα αρχεία που δέχονται ως παραμέτρους. Η διαφορά της tac είναι ότι τυπώνει το αρχείο ανάστροφα, από το τέλος προς την αρχή.

Ειδικά η εντολή cat είναι πολύ χρήσιμη, καθώς μπορεί να χρησιμοποιηθεί για αντιγραφή, συνένωση, προσάρτηση αρχείων, όπως θα δούμε και στα ακόλουθα παραδείγματα.

Η σύνταξή της είναι:

cat [OPTIONS] file ...tac [OPTIONS] file ... 

Αν δεν δοθεί όνομα αρχείου, λαμβάνεται η πρότυπη είσοδος (standard input). Οι επιλογές που δέχεται η cat είναι οι εξής:

Επιλογές

Λειτουργία

												-A--show-all














Ισοδύναμο με τη χρήση των επιλογών -vET.

												-b--number-nonblank














Αρίθμηση μη κενών γραμμών

												-E--show-ends














Εμφάνιση του χαρακτήρα $ στο τέλος κάθε γραμμής (Linefeed).

												-n--number














Αρίθμηση όλων των γραμμών (ακόμη και των κενών).

												-T--show-tabs














Εμφάνιση του χαρακτήρα TAB ως ^I.

												-v--show-nonprinting














Εμφάνιση των μη εκτυπώσιμων χαρακτήρων χρησιμοποιώντας τη σύνταξη ^ (CTRL-) και M- (ESC-). Δεν τυπώνει τους χαρακτήρες Linefeed και TAB.



Παραδείγματα χρήσης της cat:

$ cat file1 file2 |less


Τυπώνει τα περιεχόμενα των αρχείων file1 και file2 στην πρότυπη έξοδο και μέσω σωλήνωσης στην εντολή less.
$ cat file1 >file2$ cat <file1 >file2

Οι δύο αυτές εντολές αντιγράφουν το αρχείο file1 στο αρχείο file2 και είναι ισοδύναμες με την εντολή αντιγραφής αρχείων cp:

cp file1 file2$ cat file1 file2 >> file3

Προσάρτηση των αρχείων file1 και file2 στο τέλος του αρχείου file3.

$ cat part*.txt >whole.txt

Συνένωση όλων των αρχείων part*.txt σε ένα ενιαίο αρχείο whole.txt.

$ cat >fileThis is a piece of text.EOF$ cat fileThis is a piece of text.

Η πρώτη κλήση της cat χρησιμοποιεί την πρότυπη είσοδο στην οποία δίνουμε το κείμενο “This is a piece of text.” και το χαρακτήρα EOF (End of file, συνήθως [CTRL]-\). Η δεύτερη κλήση της cat απλώς τυπώνει αυτό που δημιουργήσαμε.

Εντολές head και tail

Οι εντολές head και tail εμφανίζουν την κεφαλίδα και το τέλος (την “ουρά”) ενός αρχείου κειμένου αντίστοιχα. Ειδικά η εντολή tail είναι από τα πιο χρήσιμα εργαλεία για τους διαχειριστές συστήματος.

head [OPTIONS] filetail [OPTIONS] file

όπου file το αρχείο ή τα αρχεία των οποίων θέλουμε την κεφαλίδα ή το τέλος. Ορισμένες από τις επιλογές των εντολών head και tail αναγράφονται στον επόμενο πίνακα:

Επιλογές

Λειτουργία

												-c N--bytes=N














Εμφάνιση των πρώτων (για τη head) ή των τελευταίων (για την tail) N bytes.

												-n N--lines=N














Εμφάνιση των πρώτων (για τη head) ή των τελευταίων (για την tail) N γραμμών κειμένου. Η προκαθορισμένη τιμή για το N είναι 10.

												-f--follow














(Μόνο για την tail) Εμφάνιση των προσαρτημένων γραμμών καθώς το αρχείο μεγαλώνει. Η follow δέχεται τις επιλογές descriptor ή name. Η προκαθορισμένη είναι η descriptor, με την οποία η tail παρακολουθεί το αρχείο ακόμη και αν αλλάξει όνομα (στην ουσία παρακολουθεί το file descriptor). Με την επιλογή name, η tail παρακολουθεί πάντα το αρχείο που φέρει το όνομα file.

												-F














(Μόνο για την tail) Ισοδύναμο με --follow=name --retry.

												--retry














(Μόνο για την tail) Ξαναπροσπαθεί να ανοίξει το αρχείο file ακόμη και αν δεν είναι προσπελάσιμο όταν η tail ξεκινάει ή κατά τη διάρκεια της εκτέλεσής της. Η επιλογή αυτή είναι χρήσιμη μόνο σε συνδυασμό με τη -f.



Ακολουθούν παραδείγματα χρήσης της head και tail:

$ head -c 1000 file


Τυπώνει τα 1000 πρώτα bytes του αρχείου file.
$ tail -n 100 file


Τυπώνει τις τελευταίες γραμμές του αρχείου file.
$ tail -f logfile



Παρακολουθεί και εμφανίζει τα περιεχόμενα του αρχείου logfile, ακόμη και αν αυτό αλλάξει όνομα ή θέση.
$ tail -F /var/log/syslog

Παρακολουθεί και εμφανίζει τα περιεχόμενα του αρχείου που φέρει πάντα το όνομα /var/log/syslog ακόμη και αν αυτό αλλάξει κατά τη διάρκεια εκτέλεσης της εντολής tail.

Καταμέτρηση περιεχομένων αρχείων με τη wc

Για την καταμέτρηση των περιεχομένων των αρχείων χρησιμοποιούμε την εντολή wc. Η εντολή wc επιστρέφει στατιστικές πληροφορίες για ένα αρχείο κειμένου, και συγκεκριμένα τον αριθμό των bytes, χαρακτήρων, λέξεων και γραμμών του αρχείου. Ακολουθεί την ίδια σύνταξη:

wc [OPTIONS] file ...


ή αν δεν δοθεί το file, χρησιμοποιείται η πρότυπη είσοδος (standard input). Δέχεται τις εξής επιλογές:

Επιλογές

Λειτουργία

												-c--bytes














Εμφανίζει τον αριθμό των bytes του αρχείου.

												-m--chars














Εμφανίζει τον αριθμό των χαρακτήρων του αρχείου.

												-l--lines














Εμφανίζει τον αριθμό των γραμμών κειμένου του αρχείου.

												-L--max-line-length














Τυπώνει το μήκος της μεγαλύτερης σε μήκος γραμμής.

												-w--words














Εμφανίζει τον αριθμό των λέξεων του αρχείου



Παραδείγματα:

$ wc sample.txt 10 29 278 sample.txt


Δηλαδή το αρχείο sample.txt έχει 278 χαρακτήρες, 29 λέξεις και 10 γραμμές κειμένου.

Η wc χρησιμοποιείται συχνά σε συνδυασμό με άλλες εντολές. Π.χ., για να δούμε πόσους χρήστες έχουμε συνδεδεμένους στο σύστημα αυτή τη στιγμή:

$ who |wc -l17


Μοιραστείτε αυτό το άρθρο
Reddit! Del.icio.us! Mixx! Free and Open Source Software News Google! Live! Facebook! StumbleUpon! Yahoo! Dig Me Joomla Free PHP

Σχόλια
Προσθήκη νέου Αναζήτηση RSS
Γράψτε σχόλιο
Όνομα:
Email:
 
Τίτλος:
 
Please input the anti-spam code that you can read in the image.
 

Seach By Google

Translate this website :

Επιλογές


Warning: Parameter 1 to modMainMenuHelper::buildXML() expected to be a reference, value given in /home/flakgr/public_html/libraries/joomla/cache/handler/callback.php on line 99

Programming


Warning: Parameter 1 to modMainMenuHelper::buildXML() expected to be a reference, value given in /home/flakgr/public_html/libraries/joomla/cache/handler/callback.php on line 99

Fedora


Warning: Parameter 1 to modMainMenuHelper::buildXML() expected to be a reference, value given in /home/flakgr/public_html/libraries/joomla/cache/handler/callback.php on line 99

CentOS


Warning: Parameter 1 to modMainMenuHelper::buildXML() expected to be a reference, value given in /home/flakgr/public_html/libraries/joomla/cache/handler/callback.php on line 99

Linux


Warning: Parameter 1 to modMainMenuHelper::buildXML() expected to be a reference, value given in /home/flakgr/public_html/libraries/joomla/cache/handler/callback.php on line 99

Ubuntu


Warning: Parameter 1 to modMainMenuHelper::buildXML() expected to be a reference, value given in /home/flakgr/public_html/libraries/joomla/cache/handler/callback.php on line 99

Debian


Warning: Parameter 1 to modMainMenuHelper::buildXML() expected to be a reference, value given in /home/flakgr/public_html/libraries/joomla/cache/handler/callback.php on line 99


Τελευταία Σχόλια