Perintah sed di linux dengan 15 contoh praktikal
- 3317
- 115
- Chris Little I
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:
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.