Μια εισαγωγή στην εντολή Linux sed
Το λειτουργικό σύστημα Linux χρησιμοποιεί εντολές τερματικού για να λειτουργήσει με το σύστημα αρχείων ενός υπολογιστή. Η κύρια χρήση της γραμμής εντολών Linux , η οποία είναι σύντομη για τον επεξεργαστή ροής, είναι να τροποποιήσετε κάθε γραμμή ενός αρχείου ή ροής αντικαθιστώντας συγκεκριμένα τμήματα της γραμμής. Κάνει αλλαγές βασικού κειμένου σε ένα αρχείο ή είσοδο από έναν αγωγό. Για παράδειγμα, ας πούμε ότι έχετε ένα αρχείο με το όνομα "songs.text" που περιέχει αυτές τις γραμμές:
1, Justin Timberlake, Τίτλος 545, Τιμή $ 6.30 2, Taylor Swift, Τίτλος 723, Τιμή $ 7.90 3, Mick Jagger, Τίτλος 610, Τιμή $ 7.90 4, Lady Gaga, Τίτλος 118, Τιμή $ 6.30 5, Johnny Cash, Τίτλος 482, Τιμή $ 6.50 6, Elvis Presley, Τίτλος 335, Τιμή $ 6.30 7, John Lennon, Τίτλος 271, Τιμή $ 7.90Κάνοντας αντικαταστάσεις κειμένου με Sed
Εάν θέλετε να αλλάξετε όλα τα περιστατικά τιμών από 6,30 έως 7,30 δολάρια, μπορείτε να κάνετε τις αλλαγές χρησιμοποιώντας την εντολή sed με αυτόν τον τρόπο:
sed 's / 6.30 / 7.30 /' songs.txt> songs2.txtΑυτός ο κώδικας κάνει την αλλαγή και γράφει το τροποποιημένο αρχείο σε "songs2.txt". Το αρχείο εξόδου περιέχει:
1, Justin Timberlake, Τίτλος 545, Τιμή $ 7.30 2, Taylor Swift, Τίτλος 723, Τιμή $ 7.90 3, Mick Jagger, Τίτλος 610, Τιμή $ 7.90 4, Lady Gaga, Τίτλος 118, Τιμή $ 7.30 5, Johnny Cash, Τίτλος 482, Τιμή $ 6.50 6, Elvis Presley, Τίτλος 335, Τιμή $ 7.30 7, John Lennon, Τίτλος 271, Τιμή $ 7.90Αν θέλετε να αντικαταστήσετε όλες τις εμφανίσεις του "Cash" με το "Trash" χρησιμοποιείτε:
sed 's / μετρητά / σκουπίδια /' songs.txt> songs2.txtτο οποίο δημιουργεί ένα αρχείο με περιεχόμενο:
1, Justin Timberlake, Τίτλος 545, Τιμή $ 7: 30 2, Taylor Swift, Τίτλος 723, Τιμή $ 7.90 3, Mick Jagger, Τίτλος 610, Τιμή $ 7.90 4, Lady Gaga, Τίτλος 118, Τιμή $ 7: 30 5, Johnny Trash, Τίτλος 482, Τιμή $ 6.50 6, Elvis Presley, Τίτλος 335, Τιμή $ 7: 30 7, John Lennon, Τίτλος 271, Τιμή $ 7.90Φιλτράρισμα με την εντολή Sed
Το Sed χρησιμοποιείται επίσης συχνά για να φιλτράρει γραμμές σε αρχείο ή ροή. Για παράδειγμα, εάν θέλετε να δείτε μόνο τις γραμμές που περιέχουν "John", χρησιμοποιείτε:
sed -n '/ John / p' songs.txt> johns.txtτο οποίο γράφει τις ακόλουθες γραμμές στο αρχείο johns.txt:
5, Johnny Trash, Τίτλος 482, Τιμή $ 6.50 7, John Lennon, Τίτλος 271, Τιμή $ 7.90