Πίνακας Εντολών Sed
Το Sed είναι ένας επεξεργαστής ροής (stream editor) που χρησιμοποιείται για βασικούς μετασχηματισμούς και λειτουργίες κειμένου. Είναι ένα από τα πιο ισχυρά εργαλεία επεξεργασίας κειμένου σε συστήματα Unix.
Βασικές Εντολές
sed 's/old/new/' fileΑντικαθιστά την πρώτη εμφάνιση “old” με “new” στο αρχείο.
sed 's/old/new/g' fileΑντικαθιστά όλες τις εμφανίσεις “old” με “new” στο αρχείο.
sed -n 'p' fileΕκτυπώνει μόνο τα περιεχόμενα του αρχείου.
sed 'd' fileΔιαγράφει τα περιεχόμενα του αρχείου.
sed '2d' fileΔιαγράφει τη δεύτερη γραμμή του αρχείου.
sed '2,4d' fileΔιαγράφει από τη δεύτερη έως την τέταρτη γραμμή του αρχείου.
sed '/pattern/d' fileΔιαγράφει τις γραμμές που περιέχουν το πρότυπο (pattern).
sed -i 's/old/new/g' fileΕκτελεί την αντικατάσταση στο αρχείο και αποθηκεύει τις αλλαγές.
Προηγμένες Εντολές
sed -e 'command1' -e 'command2' fileΕκτελεί πολλαπλές εντολές.
sed -f script.sed fileΔιαβάζει εντολές από ένα αρχείο script.
sed 's/old/new/2' fileΑντικαθιστά μόνο τη δεύτερη αντιστοιχία.
sed 's/old/new/3g' fileΑντικαθιστά όλες τις αντιστοιχίες ξεκινώντας από την τρίτη.
sed 's/\(old\)/\U\1/g' fileΑντικαθιστά όλα τα “old” με κεφαλαία.
sed 's/\(old\)/\L\1/g' fileΑντικαθιστά όλα τα “old” με πεζά.
sed 's/\(old\)/\E\1/g' fileΑντικαθιστά όλα τα “old” με κεφαλαία και επαναφέρει την κατάσταση πεζών-κεφαλαίων μετά την αντικατάσταση.
sed 's/\(old\)/\e\1/g' fileΑντικαθιστά όλα τα “old” με πεζά και επαναφέρει την κατάσταση πεζών-κεφαλαίων μετά την αντικατάσταση.
sed 's/old/new/w output.txt' fileΓράφει το αποτέλεσμα της αντικατάστασης σε ένα αρχείο.
sed -n 's/old/new/p' fileΕκτυπώνει μόνο τις αντικατασταθείσες γραμμές.
sed -n '/pattern/p' fileΕκτυπώνει μόνο τις γραμμές που περιέχουν το πρότυπο.
sed -n '1,5p' fileΕκτυπώνει μόνο από την πρώτη έως την πέμπτη γραμμή.
Πρότυπα Επιλογής Βήματος (Step Selection)
sed -n 'n~mp' fileΕκτυπώνει κάθε m-οστή γραμμή ξεκινώντας από τη γραμμή n.
Παραδείγματα:
sed -n '1~2p' file: Εκτυπώνει παρά μια γραμμή (περιττές γραμμές).sed -n '2~2p' file: Εκτυπώνει όλες τις ζυγές γραμμές.sed -n '1~3p' file: Εκτυπώνει κάθε τρίτη γραμμή ξεκινώντας από την πρώτη.sed -n 'n~2p' file: Αυτό το πρότυπο συνεχίζεται για οποιαδήποτε γραμμή έναρξηςn.