Cara Menggunakan Sed di Linux

sed singkatan dari editor aliran. Ini adalah editor berbasis baris perintah untuk Linux. Penggunaan sed yang populer adalah untuk mengedit file sebagai bagian dari skrip otomatisasi di Linux, karena editor biasa memerlukan input pengguna aktif dan tidak dapat mengedit file di luar layar editor. Sed paling sering digunakan untuk melakukan pencarian dan penggantian dari baris perintah.

Jenis editor teks ini juga dapat dikategorikan sebagai editor teks non-interaktif.

Mari kita lihat beberapa opsi umum untuk mengedit file menggunakan Sed. Kami akan mengambil file berikut sebagai contoh:

$: cat test.txt Seekor anjing coklat cepat melompati kucing malas. Sistem Operasi Linux. Hutan di dekat tempat saya memiliki kucing dan juga serigala. 

Cari dan Ganti

Untuk mencari string dalam file dan menggantinya dengan string lain, jalankan:

sed -i "s/cat/fox/g" test.txt

Di sini, -Saya flag menginstruksikan sed untuk menulis perubahan ke file. Tanpa bendera ini, sed hanya akan menampilkan file dengan string yang diubah.

Dalam kutipan, kami memiliki s/kucing/rubah/g. Itu S adalah untuk mencari dan mengganti perintah sed. Kemudian kita memiliki string yang akan dicari, yaitu kucing. Kemudian string untuk menggantikannya, yaitu, rubah. Akhirnya, kami memiliki opsi G, yang menginstruksikan sed untuk mengganti semua kemunculan di semua baris file. Tanpa G, sed hanya akan menggantikan kemunculan pertama dari kucing pada setiap baris.

Regex juga dapat digunakan di sini.

sed -i "s/f[a-z]*\./cat\./g"

Menyisipkan

Untuk menyisipkan teks sebelum baris dengan string yang cocok, gunakan:

sed -i "/cat/i Mulai:" test.txt

Di Sini, kucing adalah string yang dicari dan Awal: adalah string yang harus dimasukkan sebelum baris tempat string yang dicari ditemukan.

Demikian pula, untuk menyisipkan teks setelah baris, gunakan:

sed -i "/ fox/a End." tes.txt

Menghapus

Untuk menghapus baris yang berisi substring, gunakan:

sed -i "/Linux/d" test.txt

Untuk menghapus baris dengan nomor baris, mis. baris pertama, gunakan:

sed -i '1d' test.txt

Menggabungkan beberapa fungsi

Untuk menggabungkan beberapa fungsi, mis. cari dan ganti, hapus, dalam satu perintah, -e bendera dapat digunakan.

sed -i -e "s/fox/cat/g" -e '2d' test.txt

? Bersulang!