Υπάρχουν πολλές περιπτώσεις όπου πρέπει να αντικαταστήσουμε μια λέξη μέσα σε ένα αρχείο. Είτε πρόκειται για ένα αρχείο διαμόρφωσης υπηρεσίας, ένα αρχείο κειμένου ή ένα αρχείο που περιέχει βάσεις δεδομένων, σε αυτό το σεμινάριο θα μάθετε πώς να αναζητάτε και να αντικαθιστάτε μια λέξη σε ένα αρχείο στο Linux.
Πώς να αναζητήσετε και να αντικαταστήσετε μια λέξη σε ένα αρχείο στο Linux
Η απλούστερη επιλογή αν είστε χρήστης λειτουργικού συστήματος Linux, είναι να χρησιμοποιήσετε την εντολή "sed
". Παραγγελία για πρόγραμμα επεξεργασίας ροής.
Ας πούμε ως παράδειγμα ότι έχουμε σε ένα αρχείο κειμένου (document.txt) η λέξη "abc" το οποίο θέλουμε να αντικαταστήσουμε με "xyz". Η γραμμή εντολών με την οποία μπορούμε να αντικαταστήσουμε τη λέξη θα είναι η εξής:
sed -ie 's/abc/xyz/g' document.txt
Όταν εκτελούμε την εντολή, η προϋπόθεση είναι να βρισκόμαστε στο φάκελο που βρίσκεται το αρχείο document.txt.
Εάν η εντολή εκτελείται από άλλη θέση, θα γραφεί η πλήρης διαδρομή του αρχείου. Π.χ:
sed -ie 's/abc/xyz/g' /full/path/document.txt
Οπου "/full/path/
” είναι ο φάκελος όπου βρίσκεται το αρχείο document.txt.
Μετά την εκτέλεση της γραμμής εντολών, η επιλογή "-i
" θα δημιουργήσει ένα εφεδρικό αρχείο πανομοιότυπο με το αρχικό, αλλά στην επέκταση του οποίου θα προσθέσει το γράμμα "e
". Στην περίπτωσή μας, το αντίγραφο ασφαλείας θα είναι document.txte.
-i[SUFFIX], --in-place[=SUFFIX] : edit files in place (makes backup if extension supplied)
-e script, --expression=script : add the script to the commands to be executed.
Αυτή η διαταγή «find & replace” δεν ισχύει μόνο για αρχεία .txt. Μπορείτε να αντικαταστήσετε λέξεις μέσα σε οποιοδήποτε αρχείο που περιέχει κείμενο. Ακόμη και σε αρχεία βάσης δεδομένων MySQL (.SQL)
Stealth Settings - Find & Replace Inside a Text File (Linux Bash Command Line).