20110628

[Sed] Merubah kata pada kolom tertentu

Sed atau dikenal sebagai Stream Editor adalah alat sederhana yang sangat membantu dalam menulis, khususnya programmer. Singkatnya Sed dapat merubah beberapa kata/huruf/kalimat/angka/apapun secara otomasi dengan beberapa perintah saja, tanpa harus merubah file aslinya, artikel yang ber-prefix-kan [Sed] akan menjelaskan trik sederhana penggunaan Sed.

Asumsikan mempunyai file baca.txt dengan isi:

naga itu memakan naga kecil ini
naga itu memakan naga kecil ini
naga itu memakan naga kecil ini

Kita dapat merubah kata naga yang kedua (setelah kata 'memakan') dengan perintah ini:

sed -e 's/naga/kucing/2' baca.txt > kucing.txt

-e, adalah opsi untuk memasukan ekspresi, dalam contoh ini 's/naga/kucing/2' sebagai ekspresi.
Angka 2 pada string tersebut menandakan, akan mengganti kata 'naga' pada kemunculan kedua, hasil olahan tersebut dimasukan ke file kucing.txt.

Jika ingin mengganti pada baris pertama saja, tinggal tambahkan angka satu:

sed -e '1s/naga/kucing/g' baca.txt > kucing.txt

Kita melihat ada huruf 'g' pada string, ini membuat semua kata 'naga' di baris pertama akan diganti, jika tidak menggunakan 'g' maka hanya kata 'naga' pertama kali bertemu yang akan dirubah.

Jika ingin merubah baris satu dan dua saja, maka gunakan ini:

sed -e '1,2s/naga/kucing/g' baca.txt > kucing.txt

1,2, berarti dari baris satu sampai dua yang akan dirubah.

nb: Masih banyak kekurangan, dan beberapa penjelasan ini tidak Best Practices masih butuh, koreksi dari para ahli :D

No comments:

Post a Comment