Η ακόλουθη έξοδος δείχνει ότι το GNU Sed της έκδοσης 4.4 είναι εγκατεστημένο στο σύστημα.
Σύνταξη:
sed [επιλογές]...[γραφή] [αρχείο]
Εάν δεν παρέχεται κανένα όνομα αρχείου με την εντολή `sed`, τότε το σενάριο θα λειτουργήσει σε τυπικά δεδομένα εισόδου. Το σενάριο `sed` μπορεί να εκτελεστεί χωρίς καμία επιλογή.
Περιεχόμενο :
- Βασική αντικατάσταση κειμένου με χρήση 'sed'
- Αντικαταστήστε όλες τις περιπτώσεις ενός κειμένου σε μια συγκεκριμένη γραμμή ενός αρχείου χρησιμοποιώντας την επιλογή 'g'
- Αντικαταστήστε τη δεύτερη εμφάνιση μόνο ενός αγώνα σε κάθε γραμμή
- Αντικαταστήστε την τελευταία εμφάνιση μόνο ενός αγώνα σε κάθε γραμμή
- Αντικαταστήστε την πρώτη αντιστοίχιση σε ένα αρχείο με νέο κείμενο
- Αντικαταστήστε την τελευταία αντιστοίχιση σε ένα αρχείο με νέο κείμενο
- Διαφυγή από την ανάστροφη ανατροπή στις εντολές αντικατάστασης για διαχείριση αναζήτησης και αντικατάσταση διαδρομών αρχείων
- Αντικαταστήστε όλα τα αρχεία της πλήρους διαδρομής με το όνομα αρχείου χωρίς κατάλογο
- Αντικαταστήστε το κείμενο αλλά μόνο αν βρεθεί κάποιο άλλο κείμενο στη συμβολοσειρά
- Αντικαταστήστε το κείμενο αλλά μόνο εάν κάποιο άλλο κείμενο δεν βρίσκεται στη συμβολοσειρά
- Προσθέστε συμβολοσειρά πριν από το μοτίβο αντιστοίχισης χρησιμοποιώντας ' 1 '
- Διαγραφή γραμμών αντιστοίχισης
- Διαγράψτε τη γραμμή αντιστοίχισης και 2 γραμμές μετά τη γραμμή αντιστοίχισης
- Διαγράψτε όλα τα κενά στο τέλος της γραμμής κειμένου
- Διαγράψτε όλες τις γραμμές που αντιστοιχούν δύο φορές στη γραμμή
- Διαγράψτε όλες τις γραμμές που έχουν το μόνο κενό διάστημα
- Διαγράψτε όλους τους μη εκτυπώσιμους χαρακτήρες
- Εάν υπάρχει αντιστοιχία στη γραμμή, προσθέστε κάτι στο τέλος της γραμμής
- Εάν υπάρχει αντιστοιχία στη γραμμή εισαγωγής γραμμής πριν από τον αγώνα
- Εάν υπάρχει αντιστοιχία στη γραμμή εισαγωγής γραμμής μετά τον αγώνα
- Εάν δεν υπάρχει αντιστοίχιση, προσθέστε κάτι στο τέλος της γραμμής
- Εάν δεν υπάρχει αντιστοιχία διαγράψτε τη γραμμή
- Διπλότυπο αντιστοιχισμένο κείμενο αφού προσθέσετε κενό μετά το κείμενο
- Αντικαταστήστε μία από τις λίστες συμβολοσειρών με τη νέα συμβολοσειρά
- Αντικαταστήστε μια αντιστοιχισμένη συμβολοσειρά με μια συμβολοσειρά που περιέχει νέες γραμμές
- Αφαιρέστε νέες γραμμές από το αρχείο και εισαγάγετε ένα κόμμα στο τέλος κάθε γραμμής
- Καταργήστε τα κόμματα και προσθέστε νέες γραμμές για να χωρίσετε το κείμενο σε πολλές γραμμές
- Βρείτε αδιάκριτη αντιστοιχία και διαγράψτε τη γραμμή
- Βρείτε αντιστοιχία χωρίς διάκριση πεζών -κεφαλαίων και αντικαταστήστε με νέο κείμενο
- Βρείτε αντιστοιχία χωρίς διάκριση πεζών και αντικαταστήστε με όλα τα κεφαλαία του ίδιου κειμένου
- Βρείτε αντιστοιχία χωρίς διάκριση πεζών και αντικαταστήστε με όλα τα πεζά του ίδιου κειμένου
- Αντικαταστήστε όλους τους κεφαλαίους χαρακτήρες στο κείμενο με μικρούς χαρακτήρες
- Αναζητήστε τον αριθμό στη γραμμή και προσθέστε το σύμβολο νομίσματος μετά τον αριθμό
- Προσθέστε κόμματα σε αριθμούς που έχουν περισσότερα από 3 ψηφία
- Αντικαταστήστε τους χαρακτήρες καρτέλας με 4 χαρακτήρες διαστήματος
- Αντικαταστήστε 4 διαδοχικούς χαρακτήρες διαστήματος με χαρακτήρα καρτέλας
- Περικοπή όλων των γραμμών στους πρώτους 80 χαρακτήρες
- Αναζητήστε μια συμβολοσειρά regex και προσθέστε κάποιο τυπικό κείμενο μετά από αυτήν
- Αναζητήστε μια συμβολοσειρά regex και ένα δεύτερο αντίγραφο της συμβολοσειράς που βρέθηκε μετά από αυτήν
- Εκτέλεση σεναρίων πολλαπλών γραμμών `sed` από ένα αρχείο
- Αντιστοιχίστε ένα μοτίβο πολλαπλών γραμμών και αντικαταστήστε το με νέο κείμενο πολλαπλών γραμμών
- Αντικαταστήστε τη σειρά δύο λέξεων που ταιριάζουν με ένα μοτίβο
- Χρησιμοποιήστε πολλές εντολές sed από τη γραμμή εντολών
- Συνδυάστε το sed με άλλες εντολές
- Εισαγάγετε μια κενή γραμμή σε ένα αρχείο
- Διαγράψτε όλους τους αλφαριθμητικούς χαρακτήρες από κάθε γραμμή ενός αρχείου.
- Χρησιμοποιήστε '&' για αντιστοίχιση συμβολοσειράς
- Εναλλαγή ζεύγους λέξεων
- Να γράψετε με κεφαλαίο γράμμα τον πρώτο χαρακτήρα κάθε λέξης
- Εκτύπωση αριθμών γραμμών του αρχείου
1. Βασική αντικατάσταση κειμένου με χρήση 'sed'
Οποιοδήποτε συγκεκριμένο μέρος ενός κειμένου μπορεί να αναζητηθεί και να αντικατασταθεί χρησιμοποιώντας αναζήτηση και αντικατάσταση μοτίβου χρησιμοποιώντας την εντολή `sed`. Στο ακόλουθο παράδειγμα, το 's' υποδεικνύει την εργασία αναζήτησης και αντικατάστασης. Η λέξη 'Bash' θα αναζητηθεί στο κείμενο, Bash Scripting Language και αν η λέξη υπάρχει στο κείμενο, τότε θα αντικατασταθεί από τη λέξη 'Perl'.
$πέταξε έξω 'Bash Scripting Language' | sed 's/Bash/Perl/'
Παραγωγή:
Η λέξη «Bash» υπάρχει στο κείμενο. Έτσι, η έξοδος είναι «Perl Scripting Language».
Η εντολή `sed` μπορεί να χρησιμοποιηθεί για την αντικατάσταση οποιουδήποτε μέρους του περιεχομένου ενός αρχείου επίσης. Δημιουργήστε ένα αρχείο κειμένου με όνομα weekday.txt με το ακόλουθο περιεχόμενο.
weekday.txt
ΔευτέραΤρίτη
Τετάρτη
Πέμπτη
Παρασκευή
Σάββατο
Κυριακή
Η ακόλουθη εντολή θα αναζητήσει και θα αντικαταστήσει το κείμενο «Κυριακή», με το κείμενο «Η Κυριακή είναι αργία».
$Γάταweekday.txt$sed 's/Κυριακή/Κυριακή αργία/'weekday.txt
Παραγωγή:
Η «Κυριακή» υπάρχει στο αρχείο weekday.txt και αυτή η λέξη αντικαθίσταται από το κείμενο, «Η Κυριακή είναι αργία» μετά την εκτέλεση της παραπάνω εντολής «sed».
2. Αντικαταστήστε όλες τις εμφανίσεις ενός κειμένου σε μια συγκεκριμένη γραμμή ενός αρχείου χρησιμοποιώντας την επιλογή 'g'
Η επιλογή 'g' χρησιμοποιείται στην εντολή 'sed' για να αντικαταστήσει όλες τις εμφανίσεις του μοτίβου που ταιριάζουν. Δημιουργήστε ένα αρχείο κειμένου με όνομα python.txt με το ακόλουθο περιεχόμενο για να γνωρίζετε τη χρήση της επιλογής 'g'. Αυτό το αρχείο περιέχει τη λέξη. 'Πύθων' πολλαπλές φορές.
python.txt
Η Python είναι μια πολύ δημοφιλής γλώσσα.
Το Python είναι εύκολο στη χρήση. Το Python μαθαίνεται εύκολα.
Η Python είναι μια γλώσσα πολλαπλών πλατφορμών
Η ακόλουθη εντολή θα αντικαταστήσει όλες τις εμφανίσεις του « Πύθων Στη δεύτερη γραμμή του αρχείου, python.txt Το Εδώ, 'Πύθων' εμφανίζεται δύο φορές στη δεύτερη γραμμή.
$ cat python.κείμενο$ sed'2 s/Python/perl/g'Πύθων.κείμενο
Παραγωγή:
Η ακόλουθη έξοδος θα εμφανιστεί μετά την εκτέλεση του σεναρίου. Εδώ, Όλη η εμφάνιση του «Python» στη δεύτερη γραμμή αντικαθίσταται από το «Perl».
3. Αντικαταστήστε τη δεύτερη εμφάνιση μόνο ενός αγώνα σε κάθε γραμμή
Εάν οποιαδήποτε λέξη εμφανίζεται πολλές φορές σε ένα αρχείο, τότε η συγκεκριμένη εμφάνιση της λέξης σε κάθε γραμμή μπορεί να αντικατασταθεί χρησιμοποιώντας την εντολή `sed` με τον αριθμό εμφάνισης. Η ακόλουθη εντολή `sed` θα αντικαταστήσει τη δεύτερη εμφάνιση του μοτίβου αναζήτησης σε κάθε γραμμή του αρχείου, python.txt Το
$ sed's/Python/perl/g2'Πύθων.κείμενοΠαραγωγή:
Η ακόλουθη έξοδος θα εμφανιστεί μετά την εκτέλεση της παραπάνω εντολής. Εδώ, το κείμενο αναζήτησης, « Πύθων' εμφανίζεται δύο φορές μόνο στη δεύτερη γραμμή και αντικαθίσταται από το κείμενο, ' Perl ‘.
4. Αντικαταστήστε την τελευταία εμφάνιση μόνο ενός αγώνα σε κάθε γραμμή
Δημιουργήστε ένα αρχείο κειμένου με όνομα lang.txt με το ακόλουθο περιεχόμενο.
lang.txt
Γλώσσα προγραμματισμού Bash. Γλώσσα προγραμματισμού Python. Γλώσσα Προγραμματισμού Perl.
Γλώσσα σήμανσης υπερκειμένου.
Εκτεταμένη γλώσσα σήμανσης.
5. Αντικαταστήστε την πρώτη αντιστοίχιση σε ένα αρχείο με νέο κείμενο
Η ακόλουθη εντολή θα αντικαταστήσει μόνο την πρώτη αντιστοίχιση του μοτίβου αναζήτησης, ' Πύθων «Από το κείμενο, ‘Περλ ‘. Εδώ, '1' χρησιμοποιείται για να ταιριάξει με την πρώτη εμφάνιση του μοτίβου.
$ cat python.κείμενο$ sed'1 s/Python/perl/'Πύθων.κείμενο
Παραγωγή:
Η ακόλουθη έξοδος θα εμφανιστεί μετά την εκτέλεση των παραπάνω εντολών. Εδώ. η πρώτη εμφάνιση του «Python» στην πρώτη γραμμή αντικαθίσταται από το «perl».
6. Αντικαταστήστε την τελευταία αντιστοίχιση σε ένα αρχείο με νέο κείμενο
Η ακόλουθη εντολή θα αντικαταστήσει την τελευταία εμφάνιση του μοτίβου αναζήτησης, 'Πύθων «Από το κείμενο, 'Κτυπώ δυνατά'. Εδώ, '$' το σύμβολο χρησιμοποιείται για να ταιριάζει με την τελευταία εμφάνιση του μοτίβου.
$ cat python.κείμενο$ αλλά -e'$s/Python/Bash/'Πύθων.κείμενο
Παραγωγή:
Η ακόλουθη έξοδος θα εμφανιστεί μετά την εκτέλεση των παραπάνω εντολών.
7. Διαφυγή από την ανάστροφη ανατροπή στις εντολές αντικατάστασης για διαχείριση αναζήτησης και αντικατάσταση διαδρομών αρχείων
Είναι απαραίτητο να ξεφύγετε από την ανάστροφη αναδρομή στη διαδρομή του αρχείου για αναζήτηση και αντικατάσταση. Η ακόλουθη εντολή του `sed` θα προσθέσει backslash () στη διαδρομή του αρχείου.
$πέταξε έξω /Σπίτι/ubuntu/κώδικας/περλ/add.pl| sed 's; /; \ /; g'Παραγωγή:
Η διαδρομή του αρχείου, ‘/Home/ubuntu/code/perl/add.pl’ παρέχεται ως είσοδος στην εντολή `sed` και η ακόλουθη έξοδος θα εμφανιστεί μετά την εκτέλεση της παραπάνω εντολής.
8. Αντικαταστήστε όλα τα αρχεία της πλήρους διαδρομής με το όνομα αρχείου χωρίς κατάλογο
Το όνομα αρχείου μπορεί να ανακτηθεί από τη διαδρομή αρχείου πολύ εύκολα χρησιμοποιώντας το ` βασικό όνομα » εντολή. Η εντολή `sed` μπορεί επίσης να χρησιμοποιηθεί για την ανάκτηση του ονόματος αρχείου από τη διαδρομή του αρχείου. Η ακόλουθη εντολή θα ανακτήσει το όνομα αρχείου μόνο από τη διαδρομή αρχείου που παρέχεται από την εντολή `echo`.
$πέταξε έξω '/home/ubuntu/temp/myfile.txt' | sed 'μικρό/.*///'Παραγωγή:
Η ακόλουθη έξοδος θα εμφανιστεί μετά την εκτέλεση της παραπάνω εντολής. Εδώ, το όνομα αρχείου, ' myfile.txt ' εκτυπώνεται ως έξοδος.
9. Αντικαταστήστε το κείμενο αλλά μόνο αν βρεθεί κάποιο άλλο κείμενο στη συμβολοσειρά
Δημιουργήστε ένα αρχείο με το όνομα « dept.txt ' με το ακόλουθο περιεχόμενο για να αντικαταστήσετε οποιοδήποτε κείμενο βασίζεται σε άλλο κείμενο.
dept.txt
Κατάλογος συνολικών μαθητών:
ΧΑΚ - ΜετρήστεΕΕΕ - Μετρήστε
Πολιτικό - Μετρήστε
Δύο εντολές αντικατάστασης χρησιμοποιούνται στην ακόλουθη εντολή `sed`. Εδώ, το κείμενο, « μετρώ «Θα αντικατασταθεί από 100 στη γραμμή που περιέχει το κείμενο, ‘ΧΑΚ «Και το κείμενο» Μετρώ' θα αντικατασταθεί από 70 στη γραμμή που περιέχει το μοτίβο αναζήτησης, ' ΕΕΕ ’ Το
$Γάταdept.txt$sed -Και '/CSE/s/Count/100/; /EEE/s/Count/70/; 'dept.txt
Παραγωγή:
Η ακόλουθη έξοδος θα εμφανιστεί μετά την εκτέλεση των παραπάνω εντολών.
10. Αντικαταστήστε το κείμενο αλλά μόνο εάν κάποιο άλλο κείμενο δεν βρίσκεται στη συμβολοσειρά
Η ακόλουθη εντολή `sed` θα αντικαταστήσει την τιμή 'Count' στη γραμμή που δεν περιέχει το κείμενο, 'CSE'. dept.txt Το αρχείο περιέχει δύο γραμμές που δεν περιέχουν το κείμενο, 'CSE'. Ετσι το ' μετρώ «Το κείμενο θα αντικατασταθεί από 80 σε δύο γραμμές.
$Γάταdept.txt$sed -Εγώ -Και '/ΧΑΚ/! s/Count/80/; 'dept.txt
Παραγωγή:
Η ακόλουθη έξοδος θα εμφανιστεί μετά την εκτέλεση των παραπάνω εντολών.
11. Προσθέστε συμβολοσειρά πριν και μετά το μοτίβο αντιστοίχισης χρησιμοποιώντας το ' 1'
Η ακολουθία αντιστοίχισης προτύπων της εντολής `sed` συμβολίζεται με ' 1', ' 2' και ούτω καθεξής. Η ακόλουθη εντολή `sed` θα αναζητήσει το μοτίβο,‘ Bash ’και αν το μοτίβο ταιριάζει, θα έχει πρόσβαση με‘ 1 ′ στο τμήμα αντικατάστασης κειμένου. Εδώ, το κείμενο «Bash» αναζητείται στο κείμενο εισαγωγής και, ένα κείμενο προστίθεται πριν και ένα άλλο κείμενο προστίθεται μετά το « 1».
$πέταξε έξω 'Bash language' | sed 's/ (Bash )/Μάθετε 1 προγραμματισμό/'Παραγωγή:
Η ακόλουθη έξοδος θα εμφανιστεί μετά την εκτέλεση της παραπάνω εντολής. Εδώ, ' Μαθαίνω' το κείμενο προστίθεται πριν 'Κτυπώ δυνατά' και ' προγραμματισμός 'Το κείμενο προστίθεται μετά' Κτυπώ δυνατά'.
12. Διαγραφή γραμμών που ταιριάζουν
'ρε' Η επιλογή χρησιμοποιείται στην εντολή `sed` για να διαγράψετε οποιαδήποτε γραμμή από το αρχείο. Δημιουργήστε ένα αρχείο με όνομα os.txt και προσθέστε το ακόλουθο περιεχόμενο για να ελέγξετε τη λειτουργία του 'ρε' επιλογή.
cat os.txt
WindowsLinux
Android
ΕΣΕΙΣ
Η ακόλουθη εντολή `sed` θα διαγράψει αυτές τις γραμμές από os.txt αρχείο που περιέχει το κείμενο, «OS».
$Γάταos.txt$sed '/Το Δ'os.txt
Παραγωγή:
Η ακόλουθη έξοδος θα εμφανιστεί μετά την εκτέλεση των παραπάνω εντολών.
13. Διαγράψτε τη γραμμή αντιστοίχισης και 2 γραμμές μετά τη γραμμή αντιστοίχισης
Η ακόλουθη εντολή θα διαγράψει τρεις γραμμές από το αρχείο os.txt αν το μοτίβο, « Linux ’ βρίσκεται. Το os.txt περιέχει το κείμενο, ‘Linux «Στη δεύτερη γραμμή. Έτσι, αυτή η γραμμή και οι επόμενες δύο γραμμές θα διαγραφούν.
$sed ' / Linux /, + 2d'os.txtΠαραγωγή:
Η ακόλουθη έξοδος θα εμφανιστεί μετά την εκτέλεση της παραπάνω εντολής.
14. Διαγράψτε όλα τα κενά στο τέλος της γραμμής του κειμένου
Χρησιμοποιώντας [:κενό:] Η κλάση μπορεί να χρησιμοποιηθεί για την αφαίρεση κενών και καρτελών από το κείμενο ή το περιεχόμενο οποιουδήποτε αρχείου. Η ακόλουθη εντολή θα αφαιρέσει τα κενά στο τέλος κάθε γραμμής του αρχείου, os.txt
$Γάταos.txt$sed 's/[[: blank:]]*$ //'os.txt
Παραγωγή:
os.txt περιέχει κενές γραμμές μετά από κάθε γραμμή που διαγράφονται με την παραπάνω εντολή `sed`.
15. Διαγράψτε όλες τις γραμμές που έχουν αντιστοίχιση δύο φορές στη γραμμή
Δημιουργήστε ένα αρχείο κειμένου με όνομα, input.txt με το ακόλουθο περιεχόμενο και διαγράψτε τις γραμμές του αρχείου που περιέχει το μοτίβο αναζήτησης δύο φορές.
input.txt
Η PHP είναι μια γλώσσα δέσμης ενεργειών από τον διακομιστή.
Η PHP είναι μια γλώσσα ανοιχτού κώδικα και η PHP έχει διάκριση πεζών-κεφαλαίων.
Η PHP είναι ανεξάρτητη από πλατφόρμα.
Το κείμενο 'PHP' περιέχει δύο φορές στη δεύτερη γραμμή του αρχείου, input.txt Το Δύο εντολές «sed» χρησιμοποιούνται σε αυτό το παράδειγμα για να αφαιρέσετε αυτές τις γραμμές που περιέχουν το μοτίβο « php ' δύο φορές. Η πρώτη εντολή `sed` θα αντικαταστήσει τη δεύτερη εμφάνιση του 'php' σε κάθε γραμμή με ' dl 'Και στείλτε την έξοδο στη δεύτερη εντολή `sed` ως είσοδο. Η δεύτερη εντολή `sed` θα διαγράψει τις γραμμές που περιέχουν το κείμενο, dl ‘.
$Γάταinput.txt$sed 's/php/dl/i2; t'input.txt| sed '/dl/d'
Παραγωγή:
input.txt το αρχείο έχει δύο γραμμές που περιέχουν το μοτίβο, 'Php' δύο φορές. Έτσι, η ακόλουθη έξοδος θα εμφανιστεί μετά την εκτέλεση των παραπάνω εντολών.
16. Διαγράψτε όλες τις γραμμές που έχουν μόνο λευκό χώρο
Επιλέξτε οποιοδήποτε αρχείο που περιέχει κενές γραμμές στο περιεχόμενο για να δοκιμάσετε αυτό το παράδειγμα. input.txt αρχείο που δημιουργήθηκε στο προηγούμενο παράδειγμα, περιέχει δύο κενές γραμμές που μπορούν να διαγραφούν χρησιμοποιώντας την ακόλουθη εντολή `sed`. Εδώ, το '^$' χρησιμοποιείται για να μάθετε τις κενές γραμμές στο αρχείο, input.txt.
$Γάταinput.txt$sed '/^$/d'input.txt
Παραγωγή:
Η ακόλουθη έξοδος θα εμφανιστεί μετά την εκτέλεση των παραπάνω εντολών.
17. Διαγράψτε όλους τους μη εκτυπώσιμους χαρακτήρες
Οι μη εκτυπώσιμοι χαρακτήρες μπορούν να διαγραφούν από οποιοδήποτε κείμενο αντικαθιστώντας τους μη εκτυπώσιμους χαρακτήρες με κανένα. Η κλάση [: print:] χρησιμοποιείται σε αυτό το παράδειγμα για να μάθετε τους μη εκτυπώσιμους χαρακτήρες. Το ' t' είναι ένας μη εκτυπώσιμος χαρακτήρας και δεν μπορεί να αναλυθεί απευθείας από την εντολή `echo`. Για αυτό, ο χαρακτήρας ‘ t’ εκχωρείται σε μια μεταβλητή, καρτέλα $ που χρησιμοποιείται σε μια εντολή `echo`. Η έξοδος της εντολής `echo` αποστέλλεται στην εντολή` sed` που θα αφαιρέσει τον χαρακτήρα, ' t' από την έξοδο.
$αυτί= $' t'$πέταξε έξω 'Γεια σας$ tabWorld'
$πέταξε έξω 'Γεια σας$ tabWorld' | sed 's/[^[: print:]] // g'
Παραγωγή:
Η ακόλουθη έξοδος θα εμφανιστεί μετά την εκτέλεση των παραπάνω εντολών. Η πρώτη εντολή `echo θα εκτυπώσει την έξοδο με χώρο καρτέλας και η εντολή` sed` θα εκτυπώσει την έξοδο αφού αφαιρεθεί ο χώρος της καρτέλας.
18. Εάν υπάρχει αντιστοιχία στη γραμμή, προσθέστε κάτι στο τέλος της γραμμής
Η ακόλουθη εντολή θα προσαρτήσει το «10» στο τέλος της γραμμής που περιέχει το κείμενο, «Windows» στο os.txt αρχείο.
$Γάταos.txt$sed ' / Windows / s / $ / 10 /'os.txt
Παραγωγή:
Η ακόλουθη έξοδος θα εμφανιστεί μετά την εκτέλεση της εντολής.
19. Εάν υπάρχει αντιστοιχία στη γραμμή, εισαγάγετε μια γραμμή πριν από το κείμενο
Η ακόλουθη εντολή `sed` θα αναζητήσει το κείμενο, Η PHP είναι ανεξάρτητη από πλατφόρμα » στο input.txt αρχείο που δημιουργήθηκε πριν. Εάν το αρχείο περιέχει αυτό το κείμενο σε οποιαδήποτε γραμμή τότε, ' Η PHP είναι μια γλώσσα που ερμηνεύεται » θα εισαχθεί πριν από αυτήν τη γραμμή.
$Γάταinput.txt$sed '/Η PHP είναι ανεξάρτητη από την πλατφόρμα/s/^/Η PHP είναι μια ερμηνευμένη γλώσσα. N/'input.txt
Παραγωγή:
Η ακόλουθη έξοδος θα εμφανιστεί μετά την εκτέλεση των παραπάνω εντολών.
20. Εάν υπάρχει αντιστοιχία στη γραμμή, εισάγετε μια γραμμή μετά από αυτήν
Η ακόλουθη εντολή `sed` θα αναζητήσει το κείμενο, Linux ’ στο αρχείο os.txt και αν το κείμενο υπάρχει σε οποιαδήποτε γραμμή, τότε ένα νέο κείμενο, ' Ubuntu «Θα εισαχθεί μετά από αυτήν τη γραμμή.
$Γάταos.txt$sed 's/Linux/& nUbuntu/'os.txt
Παραγωγή:
Η ακόλουθη έξοδος θα εμφανιστεί μετά την εκτέλεση των παραπάνω εντολών.
21. Εάν δεν υπάρχει αντιστοίχιση, προσθέστε κάτι στο τέλος της γραμμής
Η ακόλουθη εντολή `sed` θα αναζητήσει αυτές τις γραμμές os.txt που δεν περιέχει το κείμενο, ‘Linux’ και επισυνάψτε το κείμενο, ' Λειτουργικό σύστημα «Στο τέλος κάθε γραμμής. Εδώ, ' $ Το σύμβολο χρησιμοποιείται για τον προσδιορισμό της γραμμής όπου θα προσαρτηθεί το νέο κείμενο.
$Γάταos.txt$sed '/Linux/! S/$/Λειτουργικό σύστημα/'os.txt
Παραγωγή:
Η ακόλουθη έξοδος θα εμφανιστεί μετά την εκτέλεση των παραπάνω εντολών. Τρεις γραμμές υπάρχουν στο αρχείο os.txt που δεν περιέχει το κείμενο, το ‘Linux’ και το νέο κείμενο που προστίθεται στο τέλος αυτών των γραμμών.
22. Εάν δεν υπάρχει αντιστοιχία διαγράψτε τη γραμμή
Δημιουργήστε ένα αρχείο με όνομα web.txt και προσθέστε το ακόλουθο περιεχόμενο και διαγράψτε γραμμές που δεν περιέχουν το μοτίβο αντιστοίχισης. web.txt HTML 5JavaScriptCSSPHPMySQLJQuery Η ακόλουθη εντολή `sed` θα αναζητήσει και θα διαγράψει τις γραμμές που δεν περιέχουν το κείμενο, 'CSS'. $ cat web.txt $ sed ‘/CSS/! d’ web.txt Παραγωγή: Η ακόλουθη έξοδος θα εμφανιστεί μετά την εκτέλεση των παραπάνω εντολών. Υπάρχει μια γραμμή στο αρχείο που περιέχει το κείμενο, 'CSE'. Έτσι, η έξοδος περιέχει μόνο μία γραμμή.
23. Διπλότυπο αντιστοιχισμένου κειμένου αφού προσθέσετε κενό μετά το κείμενο
Η ακόλουθη εντολή `sed` θα αναζητήσει τη λέξη 'to' στο αρχείο, python.txt και αν η λέξη υπάρχει τότε η ίδια λέξη θα εισαχθεί μετά τη λέξη αναζήτησης προσθέτοντας κενό. Εδώ, '&' το σύμβολο χρησιμοποιείται για να προσθέσει το διπλό κείμενο.
$Γάταpython.txt$sed -Και 's/to /& to/g'python.txt
Παραγωγή:
Η ακόλουθη έξοδος θα εμφανιστεί μετά την εκτέλεση των εντολών. Εδώ, η λέξη ‘to’ αναζητείται στο αρχείο, python.txt και αυτή η λέξη υπάρχει στη δεύτερη γραμμή αυτού του αρχείου. Ετσι, 'προς το »Με το διάστημα προστίθεται μετά το αντίστοιχο κείμενο.
24. Αντικαταστήστε μία λίστα συμβολοσειρών με τη νέα συμβολοσειρά
Πρέπει να δημιουργήσετε δύο αρχεία λίστας για να δοκιμάσετε αυτό το παράδειγμα. Δημιουργήστε ένα αρχείο κειμένου με όνομα list1.txt και προσθέστε το ακόλουθο περιεχόμενο.
cat list1.txt
1001=>>Τζαφάρ Αλί1023=>>Νιρ Χοσεΐν
1067=>>Τζον Μισέλ
Δημιουργήστε ένα αρχείο κειμένου με όνομα list2.txt και προσθέστε το ακόλουθο περιεχόμενο.
$ cat list2.txt
1001ΣΔΣ ΧΑΚ3.631002ΣΔΣ ΧΑΚ3.24
1023ΣΔΣ ΧΑΚ3.11
1067ΣΔΣ ΧΑΚ3.84
Η ακόλουθη εντολή `sed` θα ταιριάζει με την πρώτη στήλη των δύο αρχείων κειμένου που εμφανίζονται παραπάνω και θα αντικαταστήσει το αντίστοιχο κείμενο με την τιμή της τρίτης στήλης του αρχείου list1.txt.
$Γάταlist1.txt$Γάταlist2.txt
$sed 'Γάταlist1.txt| awk '{print' -e με / '$ 1' / '$ 3' / '}''<<<'`cat list2.txt`'
Παραγωγή:
1001, 1023 και 1067 του list1.txt ταιριάζει με τα τρία δεδομένα του list2.txt και αυτές οι τιμές αντικαθίστανται από αντίστοιχα ονόματα της τρίτης στήλης του list1.txt Το
25. Αντικαταστήστε την αντιστοιχισμένη συμβολοσειρά με μια συμβολοσειρά που περιέχει νέες γραμμές
Η ακόλουθη εντολή θα λάβει εισαγωγή από την εντολή `echo` και θα αναζητήσει τη λέξη, 'Πύθων' στο κείμενο. Εάν η λέξη υπάρχει στο κείμενο, τότε ένα νέο κείμενο, «Προστέθηκε κείμενο» θα εισαχθεί με νέα γραμμή. $ echo Bash Perl Python Java PHP ASP | sed ‘s/Python/Προστέθηκε κείμενο n/’ Παραγωγή: Η ακόλουθη έξοδος θα εμφανιστεί μετά την εκτέλεση της παραπάνω εντολής.
26. Αφαιρέστε νέες γραμμές από το αρχείο και εισαγάγετε ένα κόμμα στο τέλος κάθε γραμμής
Η ακόλουθη εντολή `sed` θα αντικαταστήσει κάθε νέα γραμμή με κόμμα στο αρχείο os.txt Το Εδώ, -Με Η επιλογή χρησιμοποιείται για τον διαχωρισμό της γραμμής με χαρακτήρα NULL.
$sed -Με 's/ n/,/g'os.txtΠαραγωγή:
Η ακόλουθη έξοδος θα εμφανιστεί μετά την εκτέλεση της παραπάνω εντολής.
27. Αφαιρέστε τα κόμματα και προσθέστε νέα γραμμή για να χωρίσετε το κείμενο σε πολλές γραμμές
Η ακόλουθη εντολή `sed` θα λάβει τη γραμμή διαχωρισμένη με κόμμα από την εντολή` echo` ως είσοδο και θα αντικαταστήσει το κόμμα με νέα γραμμή.
$πέταξε έξω 'Kaniz Fatema, 30ος, παρτίδα' | sed 'μικρό/,/ n/σολ'Παραγωγή:
Η ακόλουθη έξοδος θα εμφανιστεί μετά την εκτέλεση της παραπάνω εντολής. Το κείμενο εισαγωγής περιέχει τρία δεδομένα διαχωρισμένα με κόμμα που αντικαθίστανται από νέα γραμμή και εκτυπώνονται σε τρεις γραμμές.
28. Βρείτε ευδιάκριτη αντιστοιχία και διαγράψτε τη γραμμή
Το «I» χρησιμοποιείται στην εντολή «sed» για την αντιστοίχιση κεφαλαίων που δείχνει την παράβλεψη πεζών. Η ακόλουθη εντολή `sed` θα αναζητήσει τη γραμμή που περιέχει τη λέξη, ‘Linux «Και διαγράψτε τη γραμμή από os.txt αρχείο.
$Γάταos.txt$sed '/linux/Id'os.txt
Παραγωγή:
Η ακόλουθη έξοδος θα εμφανιστεί μετά την εκτέλεση της παραπάνω εντολής. Το os.txt περιέχει τη λέξη «Linux» που ταιριάζει με το μοτίβο, «linux» για αναζήτηση χωρίς διάκριση πεζών-κεφαλαίων και διαγράφεται.
29. Βρείτε αντιστοιχία χωρίς διάκριση πεζών και αντικαταστήστε με νέο κείμενο
Η ακόλουθη εντολή `sed` θα λάβει την είσοδο από την εντολή` echo` και θα αντικαταστήσει τη λέξη, 'bash' με τη λέξη, 'PHP'.
$πέταξε έξω 'Μου αρέσει ο προγραμματισμός bash' | sed 's/Bash/PHP/i'Παραγωγή:
Η ακόλουθη έξοδος θα εμφανιστεί μετά την εκτέλεση της παραπάνω εντολής. Εδώ, η λέξη «Bash» ταιριάζει με τη λέξη «bash» για αναζήτηση χωρίς διάκριση πεζών-κεφαλαίων και αντικαθίσταται από τη λέξη «PHP».
30. Βρείτε αντιστοιχία χωρίς διάκριση πεζών και αντικαταστήστε με όλα τα κεφαλαία του ίδιου κειμένου
‘ U’ χρησιμοποιείται στο `sed` για να μετατρέψει οποιοδήποτε κείμενο σε όλα τα κεφαλαία γράμματα. Η ακόλουθη εντολή `sed` θα αναζητήσει τη λέξη, ‘Linux ' στο os.txt και εάν η λέξη υπάρχει τότε θα αντικαταστήσει τη λέξη με όλα τα κεφαλαία γράμματα.
$Γάταos.txt$sed 's / (linux ) / U 1 / Ig'os.txt
Παραγωγή:
Η ακόλουθη έξοδος θα εμφανιστεί μετά την εκτέλεση των παραπάνω εντολών. Η λέξη «Linux» του αρχείου os.txt αντικαθίσταται από τη λέξη «LINUX».
31. Βρείτε αντιστοιχία χωρίς διάκριση πεζών και αντικαταστήστε με όλα τα πεζά του ίδιου κειμένου
'Ο' χρησιμοποιείται στο `sed` για να μετατρέψει οποιοδήποτε κείμενο σε όλα τα πεζά γράμματα. Η ακόλουθη εντολή `sed` θα αναζητήσει τη λέξη, ‘Linux’ στο os.txt αρχείο και αντικαταστήστε τη λέξη με όλα τα πεζά γράμματα.
$Γάταos.txt$sed 's/(linux)/L1/Ig'os.txt
Παραγωγή:
Η ακόλουθη έξοδος θα εμφανιστεί μετά την εκτέλεση των παραπάνω εντολών. Η λέξη 'Linux' αντικαθίσταται από τη λέξη 'linux' εδώ.
32. Αντικαταστήστε όλους τους κεφαλαίους χαρακτήρες του κειμένου με πεζούς χαρακτήρες
Η ακόλουθη εντολή `sed` θα αναζητήσει όλους τους κεφαλαίους χαρακτήρες στο os.txt αρχείο και αντικαταστήστε τους χαρακτήρες με πεζά γράμματα χρησιμοποιώντας το ' L'.
$Γάταos.txt$sed 's/ (.*)/ L 1/'os.txt
Παραγωγή:
Η ακόλουθη έξοδος θα εμφανιστεί μετά την εκτέλεση των παραπάνω εντολών.
33. Αναζητήστε τον αριθμό στη γραμμή και προσθέστε οποιοδήποτε σύμβολο νομίσματος πριν από το αριθμός
Δημιουργήστε ένα αρχείο με όνομα items.txt με το ακόλουθο περιεχόμενο.
items.txt
HDD 100Οθόνη 80
Ποντίκι 10
Η ακόλουθη εντολή `sed` θα αναζητήσει τον αριθμό σε κάθε γραμμή items.txt αρχειοθετήστε και προσθέστε το σύμβολο νομίσματος, '$' πριν από κάθε αριθμό.
$Γάταitems.txt$sed 's / ([0-9] ) / $ 1 / g'items.txt
Παραγωγή:
Η ακόλουθη έξοδος θα εμφανιστεί μετά την εκτέλεση των παραπάνω εντολών. Εδώ, το σύμβολο '$' προστίθεται πριν από τον αριθμό κάθε γραμμής.
34. Προσθέστε κόμματα σε αριθμούς που έχουν περισσότερα από 3 ψηφία
Η ακόλουθη εντολή `sed` θα λάβει έναν αριθμό ως είσοδο από την εντολή` echo` και θα προσθέσει κόμμα μετά από κάθε ομάδα τριών ψηφίων που μετράει από τα δεξιά. Εδώ, το ‘: a’ υποδεικνύει την ετικέτα και το ‘ta’ χρησιμοποιείται για την επανάληψη της διαδικασίας ομαδοποίησης.
$πέταξε έξω '5098673' | sed -Και:προς το-Και 's/(.*[0-9])([0-9]{3})/1,2/;ta'Παραγωγή:
Ο αριθμός 5098673 δίνεται στην εντολή `echo` και η εντολή` sed` δημιούργησε τον αριθμό 5.098.673 προσθέτοντας κόμμα μετά από κάθε ομάδα τριών ψηφίων.
35. Αντικαθιστά τον χαρακτήρα καρτέλας με 4 χαρακτήρες διαστήματος
Η ακόλουθη εντολή `sed` θα αντικαταστήσει κάθε χαρακτήρα καρτέλας ( t) με τέσσερις χαρακτήρες διαστήματος. Το σύμβολο '$' χρησιμοποιείται στην εντολή 'sed' για να ταιριάζει με τον χαρακτήρα καρτέλας και το 'g' χρησιμοποιείται για να αντικαταστήσει όλους τους χαρακτήρες καρτέλας.
$πέταξε έξω -Και '1 t2 t3 ' | sed$'s/ t//g'Παραγωγή:
Η ακόλουθη έξοδος θα εμφανιστεί μετά την εκτέλεση της παραπάνω εντολής.
36. Αντικαθιστά 4 διαδοχικούς χαρακτήρες διαστήματος με χαρακτήρα καρτέλας
Η ακόλουθη εντολή θα αντικαταστήσει 4 διαδοχικούς χαρακτήρες με χαρακτήρα tab ( t).
$πέταξε έξω -Και '1 2' | sed$'s// t/g'Παραγωγή:
Η ακόλουθη έξοδος θα εμφανιστεί μετά την εκτέλεση της παραπάνω εντολής.
37. Περικοπή όλων των γραμμών στους πρώτους 80 χαρακτήρες
Δημιουργήστε ένα αρχείο κειμένου με όνομα in.txt που περιέχει γραμμές άνω των 80 χαρακτήρων για να δοκιμάσετε αυτό το παράδειγμα.
in.txt
Η PHP είναι μια γλώσσα δέσμης ενεργειών από τον διακομιστή.
Η PHP είναι μια γλώσσα ανοιχτού κώδικα και η PHP έχει διάκριση πεζών-κεφαλαίων. Η PHP είναι ανεξάρτητη από πλατφόρμα.
Η ακόλουθη εντολή `sed` θα περικόψει κάθε γραμμή in.txt αρχείο σε 80 χαρακτήρες.
$sed 's/ (^. {1,80 } ).*/ 1/'in.txt
Παραγωγή:
Η ακόλουθη έξοδος θα εμφανιστεί μετά την εκτέλεση των παραπάνω εντολών. Η δεύτερη γραμμή του αρχείου in.txt περιέχει περισσότερους από 80 χαρακτήρες και αυτή η γραμμή περικόπτεται στην έξοδο.
38. Αναζητήστε μια συμβολοσειρά regex και προσθέστε κάποιο τυπικό κείμενο μετά από αυτήν
Η ακόλουθη εντολή `sed` θα αναζητήσει το κείμενο, γεια σας «Στο κείμενο εισαγωγής και προσαρτήστε το κείμενο», Γιάννης «Μετά από αυτό το κείμενο.
$πέταξε έξω 'γεια πώς είσαι?' | sed 's/ (γεια )/ 1 John/'Παραγωγή:
Η ακόλουθη έξοδος θα εμφανιστεί μετά την εκτέλεση της παραπάνω εντολής.
39. Αναζητήστε το regex συμβολοσειράς και προσθέστε κάποιο κείμενο μετά τη δεύτερη αντιστοίχιση σε κάθε γραμμή
Η ακόλουθη εντολή `sed` θα αναζητήσει το κείμενο, PHP «Σε κάθε γραμμή του input.txt και αντικαταστήστε το δεύτερο ταίριασμα σε κάθε γραμμή με το κείμενο, «Προστέθηκε νέο κείμενο» Το
$Γάταinput.txt$sed 's/ (PHP )/ 1 (Προστέθηκε νέο κείμενο)/2'input.txt
Παραγωγή:
Η ακόλουθη έξοδος θα εμφανιστεί μετά την εκτέλεση των παραπάνω εντολών. Το κείμενο αναζήτησης, « PHP Εμφανίζεται δύο φορές στη δεύτερη και τρίτη γραμμή του input.txt αρχείο. Λοιπόν, το κείμενο, Προστέθηκε νέο κείμενο »Εισάγεται στη δεύτερη και την τρίτη γραμμή.
40. Εκτέλεση σεναρίων πολλαπλών γραμμών `sed` από ένα αρχείο
Πολλαπλά σενάρια `sed` μπορούν να αποθηκευτούν σε ένα αρχείο και όλα τα σενάρια μπορούν να εκτελεστούν μαζί εκτελώντας την εντολή` sed`. Δημιουργήστε ένα αρχείο με όνομα ‘Sedcmd «Και προσθέστε το ακόλουθο περιεχόμενο. Εδώ, δύο σενάρια `sed` προστίθενται στο αρχείο. Ένα σενάριο θα αντικαταστήσει το κείμενο, ' PHP ' με 'ΑΣΠΙΔΑ 'Ένα άλλο σενάριο θα αντικαταστήσει το κείμενο', ανεξάρτητος «Από το κείμενο», εξαρτώμενος ‘.
sedcmd
μικρό/PHP/ΑΣΠΙΔΑ/μικρό/ανεξάρτητος/εξαρτώμενος/
Η ακόλουθη εντολή 'sed' θα αντικαταστήσει όλο το κείμενο 'PHP' και 'ανεξάρτητο' με 'ASP' και 'εξαρτώμενο'. Εδώ, η επιλογή ‘-f’ χρησιμοποιείται στην εντολή `sed` για την εκτέλεση του σεναρίου` sed` από το αρχείο.
$Γάταsedcmd$sed -φάsedcmd input.txt
Παραγωγή:
Η ακόλουθη έξοδος θα εμφανιστεί μετά την εκτέλεση των παραπάνω εντολών.
41. Αντιστοιχίστε ένα μοτίβο πολλαπλών γραμμών και αντικαταστήστε το με νέο κείμενο πολλαπλών γραμμών
Η ακόλουθη εντολή `sed` θα αναζητήσει το κείμενο πολλαπλών γραμμών, ‘Linux nAndroid’ και αν το μοτίβο ταιριάζει τότε οι αντίστοιχες γραμμές θα αντικατασταθούν από το κείμενο πολλών γραμμών, ‘Ubuntu nAndroid Lollipop ‘. Εδώ, τα P και D χρησιμοποιούνται για επεξεργασία πολλαπλών γραμμών.
$Γάταos.txt$sed '$! N; s/Linux nAndoid/Ubuntu nAndoid Lollipop/; P; D'os.txt
Παραγωγή:
Η ακόλουθη έξοδος θα εμφανιστεί μετά την εκτέλεση των παραπάνω εντολών.
42. Αντικαταστήστε τη σειρά δύο λέξεων σε ένα κείμενο που ταιριάζουν με ένα μοτίβο
Η ακόλουθη εντολή `sed` θα λάβει την εισαγωγή δύο λέξεων από την εντολή` echo` και θα αντικαταστήσει τη σειρά αυτών των λέξεων.
$πέταξε έξω 'perl python' | sed -Και 's/ ([^]*)* ([^]*)/ 2 1/'Παραγωγή:
Η ακόλουθη έξοδος θα εμφανιστεί μετά την εκτέλεση της παραπάνω εντολής.
43. Εκτελέστε πολλές εντολές `sed` από τη γραμμή εντολών
Η επιλογή «-e» χρησιμοποιείται στην εντολή «sed» για την εκτέλεση πολλών σεναρίων «sed» από τη γραμμή εντολών. Η ακόλουθη εντολή `sed` θα λάβει ένα κείμενο ως είσοδο από την εντολή` echo` και θα αντικαταστήσει το ' Ubuntu ' με ' Kubuntu ' και ' εκατοντάδες ' με ' Μαλακό καπέλλο ‘.
$πέταξε έξω «Ubuntu Centos Debian» | sed -Και 's/Ubuntu/Kubuntu/; s/Centos/Fedora/'Παραγωγή:
Η ακόλουθη έξοδος θα εμφανιστεί μετά την εκτέλεση της παραπάνω εντολής. Εδώ, το «Ubuntu» και το «Centos» αντικαθίστανται από το «Kubuntu» και το «Fedora».
44. Συνδυάστε το `sed` με άλλες εντολές
Η ακόλουθη εντολή θα συνδυάσει την εντολή `sed` με την εντολή` cat`. Η πρώτη εντολή `sed` θα λάβει είσοδο από os.txt αρχείο και στείλτε την έξοδο της εντολής στη δεύτερη εντολή `sed` αφού αντικαταστήσετε το κείμενο‘ Linux ’από το‘ Fedora ’. Η δεύτερη εντολή 'sed' θα αντικαταστήσει το κείμενο, 'Windows' με 'Windows 10'.
$Γάταos.txt| sed 's/Linux/Fedora/'| sed 's / windows / Windows 10 / i'Παραγωγή:
Η ακόλουθη έξοδος θα εμφανιστεί μετά την εκτέλεση της παραπάνω εντολής.
45. Εισαγάγετε κενή γραμμή σε ένα αρχείο
Δημιουργήστε ένα αρχείο με όνομα stdlist με το ακόλουθο περιεχόμενο.
stdlist
#ID #Όνομα[101] -Αλλά
[102] -Νεχα
Η επιλογή 'G' χρησιμοποιείται για την εισαγωγή κενής γραμμής σε ένα αρχείο. Η ακόλουθη εντολή `sed` θα εισαγάγει κενές γραμμές μετά από κάθε γραμμή stdlist αρχείο.
$Γάταstdlist$sedG stdlist
Παραγωγή:
Η ακόλουθη έξοδος θα εμφανιστεί μετά την εκτέλεση των παραπάνω εντολών. Μετά από κάθε γραμμή του αρχείου εισάγεται μια κενή γραμμή.
46. Αντικαταστήστε όλους τους αλφαριθμητικούς χαρακτήρες ανά διάστημα σε κάθε γραμμή ενός αρχείου.
Η ακόλουθη εντολή θα αντικαταστήσει όλους τους αλφαριθμητικούς χαρακτήρες κατά διάστημα στο stdlist αρχείο.
$Γάταstdlist$ αλλά 's / [A-Za-z0-9] // g'stdlist
Παραγωγή:
Η ακόλουθη έξοδος θα εμφανιστεί μετά την εκτέλεση των παραπάνω εντολών.
47. Χρησιμοποιήστε το & & για να εκτυπώσετε αντιστοιχισμένη συμβολοσειρά
Η ακόλουθη εντολή θα αναζητήσει τη λέξη που ξεκινά με ‘L’ και θα αντικαταστήσει το κείμενο προσθέτοντας «Το Matched String είναι - 'Με την αντιστοιχισμένη λέξη χρησιμοποιώντας το σύμβολο' & '. Εδώ, το ‘p’ χρησιμοποιείται για την εκτύπωση του τροποποιημένου κειμένου.
$sed -ν 's/^L/Matched String is - &/p'os.txtΠαραγωγή:
Η ακόλουθη έξοδος θα εμφανιστεί μετά την εκτέλεση της παραπάνω εντολής.
48. Εναλλαγή ζεύγους λέξεων σε ένα αρχείο
Δημιουργήστε ένα αρχείο κειμένου με όνομα course.txt με το ακόλουθο περιεχόμενο που περιέχει το ζεύγος λέξεων σε κάθε γραμμή.
course.txt
PHP ASPMySQL Oracle
CodeIgniter Laravel
Η ακόλουθη εντολή θα αλλάξει το ζεύγος λέξεων σε κάθε γραμμή του αρχείου, course.txt Το
$sed 's/ ([^]*)* ([^]*)/ 2 1/'course.txtΠαραγωγή:
Η ακόλουθη έξοδος θα εμφανιστεί μετά την εναλλαγή του ζεύγους λέξεων σε κάθε γραμμή.
49. Με κεφαλαίο γράμμα τον πρώτο χαρακτήρα κάθε λέξης
Η ακόλουθη εντολή `sed` θα λάβει κείμενο εισαγωγής από την εντολή` echo` και θα μετατρέψει τον πρώτο χαρακτήρα κάθε λέξης σε κεφαλαίο γράμμα.
$πέταξε έξω 'Μου αρέσει ο προγραμματισμός bash' | sed 's / ([a-z] ) [[a-zA-Z0-9] * ) / u 1 2 / g'Παραγωγή:
Η ακόλουθη έξοδος θα εμφανιστεί μετά την εκτέλεση της παραπάνω εντολής. Το κείμενο εισαγωγής, μου αρέσει ο προγραμματισμός bash εκτυπώνεται ως μου αρέσει ο προγραμματισμός Bash μετά την κεφαλαιοποίηση της πρώτης λέξης.
50. Εκτύπωση αριθμών γραμμών του αρχείου
Το σύμβολο '=' χρησιμοποιείται για την εντολή `sed` για να εκτυπώσει τον αριθμό γραμμής πριν από κάθε γραμμή ενός αρχείου. Η ακόλουθη εντολή θα εκτυπώσει το περιεχόμενο του os.txt αρχείο με αριθμό γραμμής.
$sed '='os.txtΠαραγωγή:
Η ακόλουθη έξοδος θα εμφανιστεί μετά την εκτέλεση της παραπάνω εντολής. Υπάρχουν τέσσερις γραμμές os.txt αρχείο. Έτσι, ο αριθμός γραμμής εκτυπώνεται πριν από κάθε γραμμή του αρχείου.
Συμπέρασμα:
Οι διαφορετικές χρήσεις της εντολής `sed` εξηγούνται σε αυτό το σεμινάριο χρησιμοποιώντας πολύ απλά παραδείγματα. Η έξοδος όλων των σεναρίων `sed` που αναφέρονται εδώ δημιουργούνται προσωρινά και το περιεχόμενο του αρχικού αρχείου παρέμεινε αμετάβλητο. Αλλά αν θέλετε, μπορείτε να τροποποιήσετε το αρχικό αρχείο χρησιμοποιώντας –i ή –επιλογή της εντολής `sed. Εάν είστε νέος χρήστης Linux και θέλετε να μάθετε τις βασικές χρήσεις της εντολής `sed` για την εκτέλεση διαφόρων τύπων εργασιών χειρισμού συμβολοσειρών, τότε αυτό το σεμινάριο θα σας βοηθήσει. Αφού διαβάσετε αυτό το σεμινάριο, ελπίζουμε ότι κάθε χρήστης θα έχει τη σαφή ιδέα για τις λειτουργίες της εντολής `sed`.
Συχνές Ερωτήσεις
Σε τι χρησιμοποιείται η εντολή sed;
Η εντολή sed έχει πολλές διαφορετικές χρήσεις. Τούτου λεχθέντος, η κύρια χρήση είναι η αντικατάσταση λέξεων σε ένα αρχείο ή η εύρεση και αντικατάσταση.
Το σπουδαίο πράγμα για το sed είναι ότι μπορείτε να αναζητήσετε μια λέξη σε ένα αρχείο και να την αντικαταστήσετε, αλλά δεν χρειάζεται καν να ανοίξετε το αρχείο - η sed κάνει απλώς τα πάντα για εσάς!
Εκτός από αυτό, μπορεί να χρησιμοποιηθεί για διαγραφή. Το μόνο που χρειάζεται να κάνετε είναι να πληκτρολογήσετε τη λέξη που θέλετε να βρείτε, να αντικαταστήσετε ή να διαγράψετε στο sed και θα σας εμφανιστεί - μπορείτε στη συνέχεια να επιλέξετε να αντικαταστήσετε αυτήν τη λέξη ή να διαγράψετε όλα τα ίχνη της λέξης από το αρχείο σας.
Το sed είναι ένα φανταστικό εργαλείο για να μπορείτε να αντικαταστήσετε πράγματα όπως διευθύνσεις IP και οτιδήποτε είναι ιδιαίτερα ευαίσθητο που διαφορετικά δεν θα θέλατε να τοποθετήσετε σε ένα αρχείο. Το sed είναι απαραίτητο για κάθε μηχανικό λογισμικού!
Τι είναι το S και το G σε εντολή sed;
Με τους πιο απλούς όρους, η συνάρτηση S που μπορεί να χρησιμοποιηθεί στο sed σημαίνει απλώς «υποκατάστατο». Αφού πληκτρολογήσετε το S, μπορείτε να αντικαταστήσετε ή να αντικαταστήσετε οτιδήποτε επιθυμείτε - απλά πληκτρολογώντας το S θα αντικαταστήσει μόνο την πρώτη εμφάνιση της λέξης σε μια γραμμή.
Επομένως, εάν έχετε μια πρόταση ή γραμμή που την αναφέρει περισσότερες από μία φορές, η συνάρτηση S δεν είναι ιδανική καθώς θα αντικαταστήσει μόνο την πρώτη εμφάνιση. Μπορείτε να καθορίσετε ένα μοτίβο για να κάνετε το S να αντικαθιστά λέξεις κάθε δύο εμφανίσεις επίσης.
Ο καθορισμός του G στο τέλος της εντολής sed θα κάνει μια καθολική αντικατάσταση (αυτό σημαίνει το G). Έχοντας αυτό κατά νου, εάν καθορίσετε το G, θα αντικαταστήσει κάθε εμφάνιση της λέξης που έχετε επιλέξει, και όχι μόνο την πρώτη εμφάνιση που κάνει το S.
Πώς μπορώ να εκτελέσω ένα σενάριο sed;
Μπορείτε να εκτελέσετε ένα σενάριο sed με διάφορους τρόπους, αλλά ο πιο συνηθισμένος είναι στη γραμμή εντολών. Εδώ μπορείτε απλά να καθορίσετε το sed και το αρχείο στο οποίο θέλετε να χρησιμοποιήσετε την εντολή.
Αυτό σας επιτρέπει να χρησιμοποιήσετε το sed σε αυτό το αρχείο, επιτρέποντάς σας να βρείτε, να διαγράψετε και να αντικαταστήσετε όπως απαιτείται.
Μπορείτε επίσης να το χρησιμοποιήσετε σε ένα σενάριο κελύφους και με αυτόν τον τρόπο μπορείτε να περάσετε ό, τι θέλετε στο σενάριο και θα εκτελέσει την εντολή εύρεσης και αντικατάστασης για εσάς. Αυτό είναι χρήσιμο για να μην θέλετε να καθορίσετε πολύ ευαίσθητα δεδομένα μέσα σε ένα σενάριο, οπότε μπορείτε να τα μεταφέρετε ως μεταβλητή
Λάβετε υπόψη ότι αυτό είναι φυσικά διαθέσιμο μόνο στο Linux και έτσι θα πρέπει να διασφαλίσετε ότι έχετε μια γραμμή εντολών Linux για να εκτελέσετε το σενάριο sed σας.