Skip to content

Πίνακας Εντολών 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.