Perintah sed di linux dengan 15 contoh praktikal

Perintah sed di linux dengan 15 contoh praktikal

The 'sed' Perintah adalah alat penting untuk memanipulasi teks di Linux. Ia membolehkan anda mencari corak dalam teks dan melakukan pelbagai operasi pada teks yang sepadan, seperti menggantikannya, memadamnya, atau mencetaknya. Perintah ini mengambil input dari fail atau input standard.

Perintah sed lalai tidak membuat perubahan pada fail asal sehingga anda menggunakan -i Parameter baris arahan. Perintah memberi amaran kepada teks dan menghantar hasilnya kepada output standard. Anda juga boleh mengalihkan teks ke fail mengikut syarat.

Dalam artikel ini, kami akan menyediakan 15 contoh praktikal menggunakan 'sed' Perintah untuk melaksanakan pelbagai tugas.

Ganti contoh rentetan menggunakan sed

1. Ganti rentetan dalam fail

Untuk mengganti rentetan dalam fail, anda boleh menggunakan 's/old_string/new_string/g' perintah. Sintaks adalah:

# Syntax sed's/old_string/new_string/g 'file_name
12# Sintaks 's/old_string/new_string/g' file_name

Untuk menggantikan rentetan dalam fail menggunakan arahan sed, gunakan -i hujah untuk membuat perubahan di tempat. Rentetan arahan mesti memasukkan perintah pengganti 's', rentetan asal, dan rentetan pengganti. Contohnya, untuk menggantikan semua contoh rentetan "epal" dengan rentetan "pisang" dalam fail yang dipanggil buah -buahan.TXT, gunakan arahan berikut:

Lihat contoh berikut:

buah -buahan sed 's/epal/pisang/g'.txt  

Perintah ini membaca kandungan dari "buah -buahan.fail txt "dan menggantikan semua kejadian perkataan "epal" dengan perkataan "Pisang" dan mencetak teks yang dihasilkan ke terminal. The g memberitahu arahan untuk menggantikan semua kejadian yang sepadan secara global dalam fail.

Anda juga boleh membuat perubahan dalam fail yang sama dengan -i pilihan.

Buah Sed -I/Apple/Pisang/G '.txt  

Anda akan melihat bahawa fail asal diubah suai. Anda juga boleh membuat sandaran fail sebelum membuat perubahan dalam fail asal.

sed -I.Buah Bak/Apple/Pisang/G '.txt  

Fail sandaran asal akan dibuat dalam direktori semasa dengan nama buah -buahan.txt.Bak.

2. Ganti kejadian pertama setiap baris

Untuk menggantikan hanya kejadian pertama corak pada setiap baris, anda boleh menggunakan s/corak/penggantian/perintah. Sebagai contoh, untuk menggantikan hanya kejadian pertama perkataan "epal" dengan perkataan "pisang" dalam buah -buahan fail.TXT, anda boleh menggunakan arahan berikut:

buah -buahan sed 's/epal/pisang/'.txt  

3. Ganti kejadian terakhir setiap baris

Untuk menggantikan hanya kejadian terakhir corak pada setiap baris, anda boleh menggunakan perintah s/corak/penggantian/g '. Sebagai contoh, untuk menggantikan hanya kejadian terakhir perkataan "epal" dengan perkataan "pisang" dalam buah -buahan fail.txt ', anda boleh menggunakan arahan berikut:

sed's/\ (.*\) Apple/\ 1banana/g 'buah -buahan.txt  

4. Ganti rentetan pada nombor baris tertentu

Untuk menggantikan rentetan pada baris tertentu, anda boleh menggunakan linenumbers/corak/penggantian/perintah. Sebagai contoh, untuk menggantikan kejadian pertama perkataan "epal" dengan perkataan "pisang" pada baris 3 buah -buahan fail.TXT, anda boleh menggunakan arahan berikut:

Buah -buahan sed '3s/epal/pisang/'.txt  

5. Ganti tali dari julat nombor baris

Untuk menggantikan rentetan pada pelbagai baris, anda boleh menggunakan startlinenumber, endlinenumber/corak/penggantian/perintah. Contohnya, untuk menggantikan kejadian pertama perkataan "epal" dengan perkataan "pisang" pada baris 3 hingga 5 buah -buahan fail.TXT, anda boleh menggunakan arahan berikut:

sed '3,5s/epal/pisang/' buah -buahan.txt  

Memadam garisan dalam fail menggunakan sed

6. Padamkan baris pertama dari fail

Untuk memadam garis yang mengandungi rentetan tertentu, anda boleh menggunakan perintah /corak /d. Contohnya, untuk memadam semua baris yang mengandungi perkataan "epal" dalam buah -buahan fail.TXT, anda boleh menggunakan arahan berikut:

buah sed '1d'.txt  

7. Garis padam mengandungi rentetan tertentu

Untuk memadam garis yang mengandungi rentetan tertentu, anda boleh menggunakan '/corak/d' perintah. Contohnya, untuk memadam semua baris yang mengandungi perkataan "epal" dalam buah -buahan fail.TXT, anda boleh menggunakan arahan berikut:

buah -buahan sed '/apple/d'.txt  

8. Padam garis kecuali rentetan yang sepadan

Untuk membalikkan garis yang sepadan, anda boleh menggunakan '!' pengendali dalam kombinasi dengan arahan lain. Contohnya, untuk memadam semua baris yang mengandungi perkataan "epal" dalam buah -buahan fail.TXT, anda boleh menggunakan arahan berikut:

sed '/epal/!d 'buah -buahan.txt  

9. Padamkan julat baris

Untuk memadam pelbagai baris, anda boleh menggunakan Startlinenumber, Endlinenumberd perintah. Contohnya, untuk memadam garisan 3 hingga 5 fail buah -buahan.txt, Anda boleh menggunakan arahan berikut:

buah '3,5d'.txt  

10. Padamkan garisan kosong dari fail

Anda boleh mengeluarkan garisan kosong dari fail menggunakan '/^$/d' pilihan.

buah sed '/^$/d'.txt  

Perintah ini mempertimbangkan garis sebagai kosong, yang tidak mengandungi watak, bahkan satu ruang.

Garis percetakan dari fail menggunakan sed

11. Cetak Nombor Talian Sahaja

Untuk mencetak hanya bilangan baris baris yang sepadan, anda boleh menggunakan '/corak/=' perintah. Contohnya, untuk mencetak nombor garis semua baris yang mengandungi perkataan "epal" dalam buah -buahan fail.TXT, anda boleh menggunakan arahan berikut:

sed '/apple/=' buah -buahan.txt  

12. Cetak pelbagai fail

Untuk mencetak pelbagai baris, anda boleh menggunakan 'Mula, endp' Perintah. Contohnya, untuk mencetak 10 baris pertama buah -buahan fail.TXT, anda boleh menggunakan arahan berikut:

Buah sed -n '1,10p'.txt  

Memasukkan baris ke fail menggunakan sed

13. Masukkan garis baru selepas corak yang sepadan

Untuk memasukkan garis selepas corak tertentu, anda boleh menggunakan '/corak/a \ newline' perintah. Contohnya, untuk memasukkan garis "anggur" selepas garis yang mengandungi perkataan "epal" dalam buah -buahan fail.TXT, anda boleh menggunakan arahan berikut:

Buah -buahan sed '/Apple/A \ anggur'.txt  

14. Masukkan garis baru sebelum corak sepadan

Untuk memasukkan garis sebelum corak tertentu, anda boleh menggunakan '/corak/i \ newline' perintah. Contohnya, untuk memasukkan garis "anggur" sebelum garis yang mengandungi perkataan "epal" dalam buah -buahan fail.TXT, anda boleh menggunakan arahan berikut:

buah -buahan sed '/epal/i \ anggur'.txt  

Tugas lain menggunakan sed

15. Tukar kes watak

Untuk mengubah kes rentetan, anda boleh menggunakan 'y/lama/baru/' perintah. Sebagai contoh, untuk menukar semua huruf kecil ke huruf besar dalam buah -buahan fail.TXT, anda boleh menggunakan arahan berikut:

sed 'y/abcdefghijklmnopqrstuvwxyz/abcdefghijklmnopqrstuvwxyz/' buah -buahan.txt  

Kesimpulan

Kami harap contoh -contoh ini dapat membantu dalam menunjukkan kepelbagaian perintah sed. Ingat bahawa SED adalah alat yang sangat kuat dan penting untuk menguji arahan anda dengan teliti sebelum menggunakannya pada fail penting. Sekiranya anda mempunyai pertanyaan atau memerlukan bantuan lanjut, jangan ragu untuk bertanya. Dengan contoh -contoh praktikal ini di bawah tali pinggang anda, anda akan berada dalam perjalanan untuk menguasai arahan sed dan menjadi pentadbir Linux yang mahir.