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

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

1. grep

Το grep είναι ένα βοηθητικό πρόγραμμα χειρισμού κειμένου Linux που αναζητά μια σειρά χαρακτήρων ή μοτίβων γνωστών ως κανονικές εκφράσεις σε ένα αρχείο ή κείμενο. Το εργαλείο grep ανήκει στην οικογένεια των βοηθητικών προγραμμάτων που περιλαμβάνουν το egrep, το fgrep και το grep, μεταξύ των οποίων το fgrep είναι το πιο γρήγορο από όλα, ενώ το grep είναι το πιο εύκολο.

instagram viewer

Η γενική σύνταξη για τη χρήση του grep είναι η εξής:

Όνομα αρχείου συμβολοσειράς grep -options

Για παράδειγμα, για να αναζητήσετε τη λέξη "root" στο το αρχείο /etc/passwd:

grep root /etc/passwd

Μερικά τυπικά παραδείγματα γραμμής εντολών για να ξεκινήσετε είναι:

Επιλογές Παράδειγμα Περιγραφή
-ντο grep -γ ./bashrc Μετρήστε τον αριθμό των γραμμών στις οποίες υπάρχει η συμβολοσειρά
-Εγώ grep -i ./bashrc Εκτελέστε αναζήτηση χωρίς διάκριση πεζών-κεφαλαίων για την καθορισμένη συμβολοσειρά
-ο grep -ο αρχείο Εκτυπώνει μόνο την αντιστοιχισμένη συμβολοσειρά
-μεγάλο grep -l "passwd" Εκτυπώνει ονόματα αρχείων στον τρέχοντα κατάλογο που ταιριάζουν με το μοτίβο
-n grep -n αρχείο Εκτυπώνει τον αριθμό γραμμής κατά μήκος της γραμμής που περιέχει την καθορισμένη συμβολοσειρά
string1|string2 grep αρχείο "string1|string2". Βρείτε και εκτυπώστε πολλές συμβολοσειρές από ένα αρχείο

Ομοίως, μπορείτε να χρησιμοποιήσετε το ^ μεταχαρακτήρα με την εντολή grep για εμφάνιση όλων των ταιριασμένων συμβολοσειρών που ξεκινούν με συγκεκριμένους χαρακτήρες.

Για παράδειγμα, η ακόλουθη εντολή διοχετεύει την έξοδο της εντολής env ως είσοδο στο grep και εμφανίζει μεταβλητές που ξεκινούν με "HO":

env | grep ^HO

Σχετίζεται με: Πρακτικά παραδείγματα των εντολών Linux Grep

2. οκ

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

όνομα αρχείου awk '{action}'
awk '{pattern; όνομα αρχείου action}

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

awk '{print $1}' awk_examples.txt

...που $1 εμφανίζει το πρώτο πεδίο του awk_examples.txt αρχείο.

Η ακόλουθη εντολή εκτελεί τη λειτουργία εκτύπωσης στο δεδομένο μοτίβο αντικαθιστώντας το δεύτερο πεδίο "Κόσμος" με "Αλίκη"" και εμφανίζει ολόκληρη τη γραμμή ($0):

echo "Hello World" | awk '{$2="Αλίκη"; εκτύπωση $0}'

Παραγωγή:

Γεια σου Αλίκη

Ομοίως, μπορείτε να χρησιμοποιήσετε τη λειτουργία εκτυπώστε $0 από την παραπάνω εντολή για εξομοίωση του grep λειτουργικότητα.

awk '/john/{print $0}' /etc/passwd
john: x: 1001:1001::/home/john:/bin/sh

3. είδος

Το sort είναι ένα άλλο βοηθητικό πρόγραμμα γραμμής εντολών Linux που σας βοηθά να εμφανίσετε το περιεχόμενο του καθορισμένου αρχείου κειμένου σε ταξινομημένη μορφή. Για παράδειγμα, μπορείτε να διοχετεύσετε την έξοδο της εντολής awk ως είσοδο στο βοηθητικό πρόγραμμα ταξινόμησης ως εξής:

awk '{print $1}' awk_examples.txt | sort > sort_text.txt
cat sort_text.txt

Παραγωγή:

Σχετίζεται με: Πώς να ταξινομήσετε αρχεία κειμένου στο Linux χρησιμοποιώντας ταξινόμηση

4. sed

Το πρόγραμμα επεξεργασίας sed ή ροής λαμβάνει την είσοδο ως ροή χαρακτήρων και εκτελεί φιλτράρισμα και μετασχηματισμούς κειμένου (διαγραφή, αντικατάσταση και αντικατάσταση) στο καθορισμένο κείμενο.

Μπορείτε να το χρησιμοποιήσετε σε ένα σενάριο και να επεξεργαστείτε αρχεία μη διαδραστικά. Ως εκ τούτου, ο πιο βασικός σκοπός του βοηθητικού προγράμματος είναι η αντικατάσταση συμβολοσειράς/χαρακτήρων. Η γενική σύνταξη είναι:

sed 's/string/substitution/option' αρχείο

Δημιουργήστε ένα αρχείο χρησιμοποιώντας τυχαίες προτάσεις για να εξασκηθείτε και να κατανοήσετε τη λειτουργία αυτού του βοηθητικού προγράμματος.

Ας αντικαταστήσουμε την εμφάνιση της λέξης "δύο"σε κάθε γραμμή του αρχείου με "2" χρησιμοποιώντας το -σολ σημαία για παγκόσμια αντικατάσταση, ως εξής:

sed 's/two/2/g' sed_examples.txt > sed_examples2.txt

Ομοίως, χρησιμοποιήστε το -ρε επισημάνετε για να διαγράψετε μια συγκεκριμένη γραμμή από το αρχείο:

sed '2d' sed_examples.txt

Μπορείτε επίσης να αντικαταστήσετε τη συμβολοσειρά καθορίζοντας έναν αριθμό γραμμής (4 s/2/2/p) και εκτυπώνοντας μόνο τη γραμμή που αντικαταστάθηκε ως εξής:

sed -n '4 s/two/2/p' sed_examples2.txt

ο -n Το flag στην παραπάνω εντολή απενεργοποιεί την αυτόματη εκτύπωση της ροής εισόδου στην έξοδο. Μπορείτε να χρησιμοποιήσετε αυτήν την επιλογή υπέρ σας για να αντικαταστήσετε τη λειτουργικότητα του βοηθητικού προγράμματος grep με το sed.

Για παράδειγμα, μπορείτε να τροποποιήσετε την παραπάνω εντολή συμπεριλαμβάνοντας μόνο ένα μοτίβο regex /two/p τέτοια ώστε το Η σημαία θα εκτυπώσει μόνο τις γραμμές στην τυπική ροή εξόδου.

sed -n '/two/p' sed_examples2.txt

Σχετίζεται με: Αυτά τα παραδείγματα 10 sed θα σας κάνουν έναν ισχυρό χρήστη Linux

5. Τομή

Το cut είναι ένα άλλο βοηθητικό πρόγραμμα γραμμής εντολών που κόβει/εξάγει τμήματα κειμένου από μια γραμμή ή ένα αρχείο. Κόβει το κείμενο με βάση ένα καθορισμένο πεδίο, χαρακτήρα ή θέση byte και διοχετεύει το αποτέλεσμα στην τυπική έξοδο.

Το βοηθητικό πρόγραμμα έχει την ακόλουθη σύνταξη:

Τομή  αρχείο

Χρησιμοποιήστε το -σι επιλογή για αποκοπή ενότητας ή περιεχομένου χρησιμοποιώντας ένα καθορισμένο byte ή ένα εύρος byte:

cut -b 1 cut_examples.txt

Χρησιμοποιήστε το -ντο επισημάνετε για εξαγωγή κειμένου καθορίζοντας τις θέσεις των χαρακτήρων:

cut -c 1,3,5 cut_examples.txt

Τέλος, μπορείτε επίσης να εξαγάγετε κείμενο καθορίζοντας πεδία με το -φά επιλογή και -ρε για οριοθέτη χώρου ή πεδίου:

cut -d " " -f 1 cut_examples.txt

Ακολουθεί η λίστα των περιοχών με παραδείγματα και περιγραφές που μπορείτε να χρησιμοποιήσετε με τον χαρακτήρα -ντο και byte -σι επιλογές:

Εύρος Παράδειγμα Περιγραφή
n- cut -c 7- όνομα αρχείου Εξαγωγή χαρακτήρα από τον ντο ακέραιο μέχρι το τέλος της γραμμής
n-m cut -b 7-15 όνομα αρχείου Αποσπάσματα από ακέραιο n-m κάθε γραμμής από το αρχείο εισόδου
cut -c -7 όνομα αρχείου Εξάγει γραμμές που ξεκινούν από το m έως το τέλος της γραμμής

Σημειώστε ότι δεν μπορείτε να ορίσετε τις περιοχές για την εξαγωγή κειμένου χρησιμοποιώντας το πεδίο -φά επιλογή.

Χειρισμός κειμένου με εντολές Linux

Το Linux προσφέρει πολλά προγράμματα και εργαλεία για το χειρισμό και την επεξεργασία αρχείων ή κειμένου. Η εκμάθησή τους μπορεί να μην είναι απαραίτητη, καθώς μπορείτε εύκολα να γεμίσετε το κενό με ένα άλλο, αφού καταλάβετε καλά ένα, όπως να χρησιμοποιήσετε το sed ως grep ή το awk ως grep, αλλά αυτό δεν μπορεί να ισχύει για κάθε εργαλείο.

Επιπλέον, οι εντολές Linux έχουν μια απότομη καμπύλη εκμάθησης, αλλά μόλις αναπτύξετε τη δεξιότητα, μπορούν να αποδειχθούν πολύ χρήσιμες και αποτελεσματικές στη ζωή οποιουδήποτε χρήστη Linux, ειδικά ενός διαχειριστή συστήματος.

8 καλύτερες εφαρμογές τερματικού για βελτιωμένη παραγωγικότητα Linux

Κουραστήκατε την παλιά και βαρετή εφαρμογή τερματικού που είναι προεγκατεστημένη στο Linux; Δείτε αυτές τις οκτώ εφαρμογές τερματικού που θα βελτιώσουν τη ροή εργασίας σας.

Διαβάστε Επόμενο

ΜερίδιοΤιτίβισμαΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ
Σχετικά θέματα
  • Linux
  • Εντολές Linux
Σχετικά με τον Συγγραφέα
Ρουμάισα Νιαζή (Δημοσιεύτηκαν 7 άρθρα)

Η Rumaisa είναι ανεξάρτητος συγγραφέας στο MUO. Έχει φορέσει πολλά καπέλα, από Μαθηματικός έως λάτρης της Ασφάλειας Πληροφοριών, και τώρα εργάζεται ως Αναλυτής SOC. Τα ενδιαφέροντά της περιλαμβάνουν την ανάγνωση και τη γραφή για νέες τεχνολογίες, διανομές Linux και οτιδήποτε αφορά την ασφάλεια πληροφοριών.

Περισσότερα από τη Rumaisa Niazi

Εγγραφείτε στο ενημερωτικό μας δελτίο

Εγγραφείτε στο ενημερωτικό μας δελτίο για συμβουλές τεχνολογίας, κριτικές, δωρεάν ebook και αποκλειστικές προσφορές!

Κάντε κλικ εδώ για να εγγραφείτε