Panduan Pantas Menggunakan Sed Sedan di Linux

Pengenalan kepada arahan sed Linux

Sistem operasi Linux menggunakan arahan terminal untuk berfungsi dengan sistem fail komputer. Penggunaan utama perintah Linux sed , yang pendek untuk penyunting stream, adalah untuk memodifikasi setiap baris fail atau aliran dengan menggantikan bahagian tertentu baris. Ia menjadikan perubahan teks asas kepada fail atau input dari saluran paip. Sebagai contoh, katakan anda mempunyai fail bernama "songs.text" yang mengandungi baris-baris berikut:

Lady Justin, Title 545, Harga $ 6.30 6, Elvis Presley, Judul 335, Harga $ 6.30 7, John Lennon, Judul 271, Harga $ 7.90

Membuat Substitusi Teks Dengan Sed

Jika anda ingin menukar semua kejadian harga $ 6.30 hingga $ 7.30, anda boleh membuat perubahan menggunakan perintah sed dengan cara ini:

sed '/ 6.30 / 7.30 /' songs.txt> songs2.txt

Kod ini membuat perubahan dan menulis fail yang diubahsuai kepada "songs2.txt". Fail output mengandungi:

1, Justin Timberlake, Title 545, Harga $ 7.30 2, Taylor Swift, Judul 723, Harga $ 7.90 3, Mick Jagger, Judul 610, Harga $ 7.90 4, Lady Gaga, Judul 118, Harga $ 7.30 5, Johnny Cash, Judul 482, Harga $ 6.50 6, Elvis Presley, Judul 335, Harga $ 7.30 7, John Lennon, Judul 271, Harga $ 7.90

Jika anda ingin menggantikan semua kejadian "Tunai" dengan "Sampah" yang anda gunakan:

sed / Tunai / Sampah / 'songs.txt> songs2.txt

yang mencipta fail dengan kandungan:

1, Justin Timberlake, Title 545, Harga $ 7: 30 2, Taylor Swift, Judul 723, Harga $ 7.90 3, Mick Jagger, Judul 610, Harga $ 7.90 4, Lady Gaga, Judul 118, Harga $ 7: 30 5, Johnny Trash, 482, Harga $ 6.50 6, Elvis Presley, Judul 335, Harga $ 7: 30 7, John Lennon, Judul 271, Harga $ 7.90

Penapisan Dengan Perintah Sed

Sed juga sering digunakan untuk menapis garisan dalam fail atau aliran. Contohnya, jika anda hanya mahu melihat garisan yang mengandungi "John," anda menggunakan:

sed -n '/ John / p' songs.txt> johns.txt

yang menulis baris berikut untuk memfailkan johns.txt:

5, Johnny Trash, Judul 482, Harga $ 6.50 7, John Lennon, Judul 271, Harga $ 7.90