Minggu, Mei 01, 2011

Mengganti Suatu String Pada Berkas Teks Dengan Sed

Ketika anda ingin mengganti string tertentu pada suatu berkas teks, apa yang biasa anda lakukan? Mungkion sebagian dari anda akan membuka berkas teks tersebut menggunakan teks editor (misalkan saja gedit), kemudian mengganti string yang hendak diganti menggunakan fitur Find and Replace bawaan teks editor. Hm, tapi tahukah anda bahwa di Linux terdapat fasilitas yang memungkinkan kita mengganti string pada suatu berkas teks tanpa perlu membuka berkas tersebut? Kalau anda belum tahu, mari saya beri tahu. :)

Namanya sed, alias stream editor. Salah satu fungsinya adalah seperti yang sudah saya sebutkan di atas. Untuk fungsi lainnya, anda bisa menemukannya sendiri di petunjuk penggunaan sed ini. Cukup dengan:

fitra@rabitya:~$ man sed

Cara penggunaannya adalah sebagai berikut. Misalkan saya memiliki sebuah berkas teks yang berisi tulisan

fitra@rabitya:~$ cat rabitya.teks
Fitra Aditya jelek
Fitra Rabitya jelek
Sekali jelek, tetap jelek

Kemudia saya ingin mengganti kata 'jelek' di atas dengan kata 'ganteng' (narsis dikit :D). Cara menggantinya cukup melalui terminal dengan mengetikkan perintah berikut.

fitra@rabitya:~$ sed 's/jelek/ganteng/g' rabitya.teks

Nah, kemudian lihat hasilnya.

fitra@rabitya:~$ cat rabitya.teks
Fitra Aditya ganteng
Fitra Rabitya ganteng
Sekali ganteng, tetap ganteng

Mudah bukan? Jadi, penggunaan sed untuk mengganti string dari sebuah berkas teks adalah sebagai berikut (silakan catat dan diingat).

fitra@rabitya:~$ sed 's/<string_yang_akan_diganti>/<string_pengganti>/g' <path_berkas_teks>

Semoga bermanfaat. :)

Tidak ada komentar:

Posting Komentar