Αυτά τα 10 παραδείγματα Sed θα σας κάνουν χρήστη Power Linux

Αυτά τα 10 παραδείγματα Sed θα σας κάνουν χρήστη Power Linux

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





Σε αυτό το άρθρο, θα συζητήσουμε λεπτομερώς την εντολή sed, μαζί με μερικά βασικά παραδείγματα που καταδεικνύουν τη δύναμη του βοηθητικού προγράμματος sed στο Linux.





Τι είναι το sed Command;

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





Οι τρεις βασικές λειτουργίες που υποστηρίζονται από την εντολή sed είναι:

  1. Εισαγωγή
  2. Διαγραφή
  3. Αντικατάσταση (Εύρεση και αντικατάσταση)

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



Η βασική σύνταξη της εντολής είναι:

sed [options] [pattern] [filepath]

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





πώς να διορθώσετε κατεστραμμένα αρχεία βίντεο mp4

10 Παραδείγματα της εντολής Linux sed

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

Θα χρησιμοποιήσουμε το ακόλουθο αρχείο κειμένου για επίδειξη στην ανάρτηση.





This is a demo text file.
It is an amazing file that will help us all.
The sed command is also great for stream editing.
Want to learn how to use the command?
This is another line in the file.
This is the third general line in the file.
This file is named as textfile.
This is a apple.
This is a orange.

1. Προβολή μιας σειράς γραμμών

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

Για να εξάγετε το περιεχόμενο μεταξύ των γραμμών 3 και 5 του αρχείου textfile.txt :

sed -n '3,5p' textfile.txt

ο Η σημαία εμποδίζει το sed να εμφανίζει το χώρο μοτίβου στο τέλος κάθε κύκλου. Μπορείτε επίσης να χρησιμοποιήσετε το --ησυχια και --σιωπηλός επιλογές αντί Το ο Π επιχειρηματολογία σημαίνει Τυπώνω και χρησιμοποιείται για την εμφάνιση των αντιστοιχισμένων γραμμών στο χρήστη.

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

The sed command is also great for stream editing.
Want to learn how to use the command?
This is another line in the file.

Για να εξάγετε ολόκληρο το περιεχόμενο αρχείου εκτός από το καθορισμένο εύρος, χρησιμοποιήστε το ρε σημαία αντί Π στην εντολή:

sed '3,5d' textfile.txt

ο ρε flag διαγράφει τις αντιστοιχισμένες συμβολοσειρές από την έξοδο και εμφανίζει το υπόλοιπο περιεχόμενο.

This is a demo text file.
It is an amazing file that will help us all.
This is the third general line in the file.
This file is named as textfile.
This is a apple.
This is a orange.

2. Εμφάνιση μη συνεχόμενων γραμμών

Για να εκτυπώσετε μη συνεχόμενες γραμμές μεταξύ πολλαπλού εύρους στο αρχείο:

sed -n -e '1,2p' -e '5,6p' textfile.txt

Παραγωγή:

This is a demo text file.
It is an amazing file that will help us all.
This is another line in the file.
This is the third general line in the file.

ο -Και η σημαία βοηθάει εκτελώντας πολλαπλές ενέργειες χρησιμοποιώντας μια μόνο εντολή.

3. Εισαγωγή χώρου μεταξύ γραμμών

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

γιατί αυξάνεται η χρήση του δίσκου μου
sed G textfile.txt

Για να εισαγάγετε πολλές κενές γραμμές στην έξοδο, περάστε πολλές σολ επιχειρήματα που χωρίζονται από το άνω τελεία ( ? ) χαρακτήρα.

sed 'G;G' textfile.txt

4. Αντικαταστήστε μια λέξη σε ένα αρχείο κειμένου

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

sed s/originalword/replaceword/g filename

Χρησιμοποιώντας την παραπάνω σύνταξη, μπορείτε να αντικαταστήσετε τη λέξη φοβερο με σούπερ στο αρχείο textfile.txt :

sed s/amazing/super/g textfile.txt

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

Για να αντικαταστήσετε τη δεύτερη εμφάνιση της λέξης με sed, περάστε έναν αριθμό στο σολ διαφωνία. Σε αυτήν την περίπτωση:

sed s/amazing/super/g2 textfile.txt

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

sed s/Amazing/super/gi textfile.txt

Σχετίζεται με: Χρησιμοποιείτε το Vi; Δείτε πώς μπορείτε να ανοίξετε ένα αρχείο και, στη συνέχεια, αποθηκεύστε και κλείστε

5. Αντικατάσταση λέξεων μέσα σε μια περιοχή

Μπορείτε επίσης να αντικαταστήσετε λέξεις μέσα σε ένα συγκεκριμένο εύρος.

sed '2,5s/amazing/super/g' textfile.txt

6. Εκτελέστε Πολλαπλές Αλλαγές ταυτόχρονα

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

sed 's/amazing/super/g;s/command/utility/gi' textfile.txt

Το σύστημα θα εμφανίσει την ακόλουθη έξοδο.

This is a demo text file.
It is an super file that will help us all.
The sed utility is also great for stream editing.
Want to learn how to use the utility?
This is another line in the file.
This is the third general line in the file.
This file is named as textfile.
This is a apple.
This is a orange.

7. Αντικαταστήστε τις λέξεις μόνο αν βρεθεί αντιστοιχία

Μπορείτε επίσης να χρησιμοποιήσετε την εντολή sed για να αντικαταστήσετε μια λέξη μόνο εάν μια δεδομένη αντιστοίχιση βρίσκεται στη γραμμή. Για παράδειγμα, για αντικατάσταση της λέξης προς το με ένα αν η λέξη πορτοκάλι υπάρχει στη γραμμή:

sed -e '/orange/ s/a/an/g' textfile.txt

Η έκδοση της παραπάνω εντολής θα εξάγει:

This is a demo text file.
It is an super file that will help us all.
The sed utility is also great for stream editing.
Want to learn how to use the utility?
This is another line in the file.
This is the third general line in the file.
This file is named as textfile.
This is a apple.
This is an orange.

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

8. Αντικαταστήστε λέξεις χρησιμοποιώντας κανονικές εκφράσεις

Για όσους γνωρίζουν πώς να χρησιμοποιούν κανονικές εκφράσεις, η εκτέλεση λειτουργιών σε συμβολοσειρές χρησιμοποιώντας την εντολή sed γίνεται πολύ πιο εύκολη. Μπορείτε να εφαρμόσετε κανονικές εκφράσεις για να ενισχύσετε τη δύναμη της εντολής.

Να αντικαταστήσει όλες τις εμφανίσεις της λέξης Φοβερο ή φοβερο με σούπερ :

sed -e 's/[Aa]mazing/super/g' textfile.txt

Ομοίως, μπορείτε επίσης να χρησιμοποιήσετε προηγμένες κανονικές εκφράσεις για να εκτελέσετε συγκεκριμένες λειτουργίες χρησιμοποιώντας την εντολή sed.

9. Pipe sed Με άλλες εντολές

Μπορείτε να αλυσιδώσετε το sed με άλλες εντολές Linux επίσης. Για παράδειγμα, μπορείτε να τοποθετήσετε το σωλήνα lspci εντολή με sed για να προσθέσετε κενά κενά μεταξύ των γραμμών στην έξοδο.

lspci | sed G

Για αντικατάσταση συγκεκριμένων λέξεων στην έξοδο του ip διαδρομή εμφάνιση εντολή:

ip route show | sed s/src/source/g

Η προαναφερθείσα εντολή αντικαθιστά τη λέξη πηγή στη θέση της αρχικής λέξης src Το

Σχετίζεται με: Πώς να χρησιμοποιήσετε την εντολή Εύρεση για αναζήτηση αρχείων στο Linux

10. Επεξεργασία και δημιουργία αντιγράφων ασφαλείας του αρχικού αρχείου

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

Για να δημιουργήσετε αντίγραφα ασφαλείας του αρχικού αρχείου χρησιμοποιώντας το sed, χρησιμοποιήστε το -Εγώ σημαία στην εντολή.

καλύτερες ταινίες στο amazon Prime Σεπτέμβριος 2018
sed -i'.backup' 's/amazing/super/g' textfile.txt

Θα δημιουργηθεί ένα νέο αρχείο με το όνομα textfile.txt. backup Το Μπορείτε να ελέγξετε ότι τα δύο αρχεία είναι διαφορετικά χρησιμοποιώντας το διαφορά εντολή.

diff textfile.txt textfile.txt.backup

Επεξεργασία συμβολοσειρών στο Linux Με sed

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

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

Μερίδιο Μερίδιο Τιτίβισμα ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ 7 τρόποι για να λάβετε βοήθεια γραμμής εντολών στο Linux

Όλες οι βασικές εντολές για την εκμάθηση των εντολών Linux από τη γραμμή εντολών

Διαβάστε Επόμενο
Σχετικά θέματα
  • Linux
  • Επεξεργαστής κειμένου
  • Τερματικό
  • Γραμμή εντολών
Σχετικά με τον Συγγραφέα Deepesh Sharma(79 άρθρα δημοσιεύθηκαν)

Ο Deepesh είναι ο Junior Editor για Linux στο MUO. Γράφει ενημερωτικούς οδηγούς στο Linux, με στόχο να προσφέρει μια ευτυχισμένη εμπειρία σε όλους τους νεοεισερχόμενους. Δεν είμαι σίγουρος για τις ταινίες, αλλά αν θέλετε να μιλήσετε για την τεχνολογία, είναι ο τύπος σας. Στον ελεύθερο χρόνο του, μπορείτε να τον βρείτε να διαβάζει βιβλία, να ακούει διαφορετικά είδη μουσικής ή να παίζει κιθάρα.

Περισσότερα από Deepesh Sharma

Εγγραφείτε στο newsletter μας

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

Κάντε κλικ εδώ για εγγραφή
Κατηγορία Linux