Perintah `sed` adalah alat penting untuk memanipulasi teks di Linux. Ini memungkinkan Anda untuk mencari pola dalam teks dan melakukan berbagai operasi pada teks yang cocok, seperti menggantinya, menghapusnya, atau mencetaknya. Perintah ini mengambil input dari file atau input standar.
Advertisement
Perintah sed default tidak membuat perubahan pada file asli hingga Anda menggunakan parameter baris perintah -i. Perintah memperingatkan teks dan mengirimkan hasilnya ke output standar. Anda juga dapat mengarahkan teks ke file sesuai persyaratan.
Dalam artikel ini, kami akan memberikan 15 contoh praktis penggunaan perintah `sed` untuk melakukan berbagai tugas.
Mengganti Contoh String menggunakan Sed
1. Ganti string dalam file
Untuk mengganti string dalam file, Anda dapat menggunakan perintah `s/old_string/new_string/g`. Sintaksnya adalah:
# Sintaks sed `s/old_string/new_string/g` file_name12# Sintaks `s/old_string/new_string/g` file_name
Untuk mengganti string dalam file menggunakan perintah sed, gunakan argumen -i untuk membuat perubahan di -tempat. String perintah harus menyertakan perintah pengganti `s`, string asli, dan string pengganti. Misalnya, untuk mengganti semua contoh string “apple” dengan string “banana” dalam file bernama fruits.txt, gunakan perintah berikut:
Lihat contoh berikut:
sed `s/apple/ banana/g`fruits.txt
Perintah ini membaca konten dari file “fruits.txt” dan mengganti semua kemunculan kata “apel” dengan kata “banana” dan mencetak teks yang dihasilkan ke terminal. g memberi tahu perintah untuk mengganti semua kejadian yang cocok secara global di file.
Anda juga dapat membuat perubahan di file yang sama dengan opsi -i.
sed -i `s/apple/banana/g` fruit.txt
Anda akan melihat bahwa file asli telah dimodifikasi. Anda juga dapat membuat cadangan file sebelum membuat perubahan pada file asli.
sed -i.bak `s/apple/banana/g` fruits.txt
A file cadangan asli akan dibuat di direktori saat ini dengan nama fruits.txt.bak.
2. Ganti kemunculan pertama dari setiap baris
Untuk mengganti hanya kemunculan pertama dari sebuah pola pada setiap baris, Anda dapat menggunakan perintah s/pattern/replacement/. Misalnya, untuk mengganti kemunculan pertama kata “apel” dengan kata “banana” di file fruits.txt, Anda dapat menggunakan perintah berikut:
sed `s/apple/banana/ ` buah-buahan.txt
3. Ganti kemunculan terakhir dari setiap baris
Untuk mengganti hanya kemunculan terakhir dari sebuah pola pada setiap baris, Anda dapat menggunakan perintah s/pattern/replacement/g’. Misalnya, untuk mengganti kemunculan terakhir kata “apel” dengan kata “banana” di file fruits.txt`, Anda dapat menggunakan perintah berikut:
sed `s/(. *)apel/1pisang/g` buah-buahan.txt
4. Ganti string pada nomor baris tertentu
Untuk mengganti string pada baris tertentu, Anda dapat menggunakan perintah lineNumbers/pattern/replacement/. Misalnya, untuk mengganti kemunculan pertama kata “apel” dengan kata “banana” pada baris 3 file fruits.txt, Anda dapat menggunakan perintah berikut:
sed `3s/apple/ pisang/`fruits.txt
5. Ganti string dari rentang nomor baris
Untuk mengganti string pada rentang baris, Anda dapat menggunakan perintah startLineNumber,endLineNumber/pattern/replacement/. Misalnya, untuk mengganti kata “apel” yang pertama kali muncul dengan kata “banana” pada baris 3 sampai 5 file fruits.txt, Anda dapat menggunakan perintah berikut:
sed `3, 5s/apple/banana/`fruits.txt
Deleting Lines in File using Sed
6. Hapus baris pertama dari file
Untuk menghapus baris yang berisi string tertentu, Anda dapat menggunakan perintah /pattern/d. Misalnya, untuk menghapus semua baris yang mengandung kata “apel” pada file fruits.txt, Anda dapat menggunakan perintah berikut:
sed `1d` fruits.txt
7. Hapus baris berisi string
tertentuUntuk menghapus baris yang berisi string tertentu, Anda dapat menggunakan perintah `/pattern/d`. Sebagai contoh, untuk menghapus semua baris yang mengandung kata “apel” pada file fruits.txt, Anda dapat menggunakan perintah berikut:
sed `/apple/d` fruits.txt
8. Hapus baris kecuali string yang cocok
Untuk membalikkan baris yang cocok, Anda dapat menggunakan operator `!` yang dikombinasikan dengan perintah lain. Sebagai contoh, untuk menghapus semua baris yang mengandung kata “apel” pada file fruits.txt, Anda dapat menggunakan perintah berikut:
sed `/apple/!d` fruits.txt
9. Hapus rentang garis
Untuk menghapus rentang garis, Anda dapat menggunakan perintah startLineNumber,endLineNumberd. Misalnya, untuk menghapus baris 3 sampai 5 dari file fruits.txt, Anda dapat menggunakan perintah berikut:
sed `3,5d` fruits.txt
10. Hapus baris kosong dari file
Anda dapat menghapus baris kosong dari file menggunakan opsi `/^$/d`.
sed `/^$/d` fruits.txt
Perintah ini menganggap baris kosong, yang tidak mengandung karakter apa pun, bahkan satu spasi.
Mencetak Baris dari File menggunakan Sed
11. Cetak nomor baris saja
Untuk mencetak hanya nomor baris dari baris yang cocok, Anda dapat menggunakan perintah `/pattern/=`. Misalnya, untuk mencetak nomor baris dari semua baris yang berisi kata “apel” di file fruits.txt, Anda dapat menggunakan perintah berikut:
sed `/apple/=` fruits.txt ] pra12. Cetak rentang file
Untuk mencetak rentang baris, Anda dapat menggunakan perintah `start,endp`. Misalnya, untuk mencetak 10 baris pertama dari file fruits.txt, Anda dapat menggunakan perintah berikut:sed -n `1,10p` fruits.txtInserting Lines to File using Sed
13. Sisipkan baris baru setelah pencocokan patternUntuk menyisipkan baris setelah pola tertentu, Anda dapat menggunakan perintah `/pattern/anewline`. Misalnya, untuk menyisipkan baris “anggur” setelah baris yang berisi kata “apel” di file fruits.txt, Anda dapat menggunakan perintah berikut:
sed `/apple/agrapes` buah-buahan.txt14. Menyisipkan baris baru sebelum mencocokkan pattern
Untuk menyisipkan baris sebelum pola tertentu, Anda dapat menggunakan perintah `/pattern/inewline`. Misalnya, untuk menyisipkan baris “anggur” sebelum baris yang berisi kata “apel” di file fruits.txt, Anda dapat menggunakan perintah berikut:
sed `/apple/igrapes` fruits.txt ]praTugas Lainnya menggunakan Sed
15. Ubah Huruf Besar Karakter
Untuk mengubah huruf besar kecil suatu string, Anda dapat menggunakan perintah `y/old/new/`. Misalnya, untuk mengubah semua huruf kecil menjadi huruf besar di file fruits.txt, Anda dapat menggunakan perintah berikut:sed `y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/` fruits.txtConclusion
Kami berharap contoh-contoh ini telah membantu dalam menunjukkan kepada Anda keserbagunaan perintah sed. Ingat bahwa sed adalah alat yang sangat kuat dan penting untuk menguji perintah Anda dengan hati-hati sebelum menggunakannya pada file penting. Jika Anda memiliki pertanyaan atau memerlukan bantuan lebih lanjut, jangan ragu untuk bertanya. Dengan contoh-contoh praktis ini, Anda akan berada di jalur yang tepat untuk menguasai perintah sed dan menjadi administrator Linux yang mahir.
Referensi tecadmin.com