Sed, kependekan dari Stream EDitor, adalah perintah yang digunakan untuk melakukan transformasi dan manipulasi teks pada file. Beberapa transformasi ini termasuk mencari dan mengganti teks. Dengan perintah sed Linux, Anda dapat memanipulasi dan mengedit file teks bahkan tanpa membukanya. Dalam tutorial ini, Anda akan mempelajari cara memanipulasi file teks menggunakan perintah sed.
Sintaks perintah Linux sed
$ sed {OPTIONS} filename
Dalam tutorial ini, kita akan menggunakan linuxgeek.txt
file sebagai file referensi kami.
# cat linuxgeek.txt
Keluaran
1. Mengganti atau mengganti string
Dalam kebanyakan kasus, perintah sed digunakan untuk mengganti string teks.
Perintah di bawah ini menggantikan ‘Linux ' dengan 'Unix ‘.
# sed 's/Linux/Unix/' linuxgeek.txt
s
dalam perintah adalah indikator pengganti./
adalah pembatasLinux
adalah istilah pencarianunix
adalah istilah pengganti
Secara default, perintah sed hanya menggantikan kemunculan pertama dalam baris . Kejadian selanjutnya tidak akan tergantikan atau diganti.
Keluaran
2. Mengganti atau mengganti kemunculan ke-n dalam satu baris
Jika Anda ingin mengganti kemunculan string kedua dalam satu baris, gunakan /2
bendera seperti yang ditunjukkan.
# sed 's/Linux/Unix/2' linuxgeek.txt
Keluaran
3. Mengganti atau mengganti semua kemunculan pola dalam file
Untuk mengganti semua kemunculan pola pencarian dalam file, gunakan /g
bendera. /g
adalah pengganti global.
# sed 's/Linux/Unix/g' linuxgeek.txt
Keluaran
4. Mengganti atau mengganti semua kemunculan string hanya pada baris tertentu
Jika Anda ingin mengganti semua kemunculan string di baris tertentu, katakan di baris 2, gunakan sintaks di bawah
# sed '2 s/Linux/Unix/g' linuxgeek.txt
Keluaran
5. Mengganti atau mengganti string dalam rentang baris tertentu
Jika Anda ingin menentukan rentang garis yang akan terjadi penggantian string, gunakan contoh yang ditunjukkan di bawah ini. Contoh menginstruksikan penggantian terjadi dari baris 1 -3
# sed '1,3 s/Linux/Unix/g' linuxgeek.txt
Keluaran
Selain itu, Anda dapat mengganti teks dari baris tertentu ke akhir file seperti yang ditunjukkan
# sed '2,$ s/Linux/Unix/g' linuxgeek.txt
Apa yang dilakukan perintah adalah mengganti semua kemunculan dari baris ke-2 hingga baris terakhir file.
Keluaran
6. Tanda kurung karakter pertama setiap kata
Contoh di bawah ini menunjukkan bagaimana Anda dapat menempatkan tanda kurung pada setiap karakter pertama dari sebuah kata dalam sebuah baris.
$ echo "Hey Guys, Welcome To Linux Operating System" | sed 's/\(\b[A-Z]\)/\(\1\)/g'
Keluaran
7. Hapus baris dari file
Anda juga dapat menggunakan perintah sed linux untuk menghapus baris dalam file.
Contoh
Sintaks:
$ sed 'nd' filename.txt
Untuk menghapus baris ke-3 dalam file, jalankan
$ sed '3d' linuxgeek.txt
Keluaran
Untuk menghapus rentang baris, misalkan dari baris 3 hingga baris 5 , jalankan perintah:
$ sed '3,5d' linuxgeek.txt
Keluaran