Editor Strim (SED): Asas

Editor Strim Sed Asas



SED, juga dikenali sebagai editor strim, ialah alat yang sangat berguna. Ia digunakan untuk mencari perkataan atau pola tertentu dan seterusnya melakukan sesuatu pada perkataan atau pola itu atau dengan kata lain mengubahnya. Dalam Windows, SED juga dikenali sebagai fungsi 'cari' dan 'ganti'. SED disertakan dengan Ubuntu, jadi tidak perlu memasang apa-apa; hanya mula menggunakannya. Dalam tutorial ini, kami akan memberitahu anda cara menggunakan SED atau editor strim.

Perintah 'S'.

Yang paling penting daripada semua arahan dalam SED atau editor strim ialah arahan 's'. 's' bermaksud pengganti. Sintaksnya adalah seperti berikut:







's / regexp / penggantian / bendera


Jadi, mari gunakan fail yang dipanggil 'file.txt' untuk contoh. Begini rupa 'file.txt' jika anda melihatnya:




Mari gunakan contoh untuk menunjukkan cara arahan 's' berfungsi:



tetapi 's / pertama / bulan / i’ file.txt > moon.txt


Apabila ungkapan sedemikian diberikan, ia bermakna:





    • s – Ia bermaksud pengganti.
    • pertama – Perkataan untuk dicari dalam fail yang dipanggil 'file.txt'.
    • bulan - Perkataan 'pertama' digantikan dengan perkataan 'bulan'.
    • i – Ia bermaksud abaikan. Kami akan mengabaikan bahagian ini untuk bit pertama.
    • file.txt – Fail di mana SED akan mencari corak atau perkataan. Dalam kes ini, perkataan 'pertama' ialah:
    • dicari dalam file.txt

    • moon.txt – Apabila perkataan “first” digantikan dengan perkataan “moon”, ia akan disimpan di bawah “moon.txt”.

Jadi, apa yang berlaku di sini? SED menggantikan perkataan 'first' untuk 'moon' dalam contoh pertama sahaja (ini bermakna jika perkataan 'first' berlaku beberapa kali, ia tidak akan menggantikan semuanya atau menggantikannya beberapa kali). Fail yang dicarinya dipanggil 'file.txt' dan setelah transformasi atau penggantian dibuat, ia akan disimpan di bawah 'moon.txt'.



Inilah rupanya:


Sila ingat untuk meletakkan '/' di tempat yang sepatutnya. Jika anda meninggalkan '/', SED tidak akan menerima arahan itu.

Setakat ini, kami hanya menggantikan perkataan 'pertama' dengan 'terjumpa' dengan penggantian. Sekarang, katakan bahawa kita ingin menggantikan perkataan 'garisan' (yang berlaku berkali-kali - empat kali lebih spesifik) dalam baris ketiga dengan perkataan 'malaikat'.

Bagaimanakah kita secara khusus menyasarkan baris ketiga itu? Kami menggunakan arahan berikut:

tetapi '3s / barisan / malaikat / i’ file.txt > angel.txt


Jadi, apa yang berlaku di sini? Nah, '3' menentukan nombor baris. Oleh itu, ia pergi ke baris ketiga. Kemudian, gantikan perkataan 'line' untuk 'malaikat' dalam fail yang dipanggil 'file.txt' dan simpan fail yang diubah sebagai 'angel.txt'.


Bagaimana jika kita mahu menggantikan atau mengubah baris '3' dan '4'?

tetapi ' 3 ,4s / barisan / malaikat / i’ file.txt > angel2.txt



Ambil perhatian bahawa dalam contoh sebelumnya, kami menggunakan bendera 'i' untuk mengabaikan. Sekarang, kami menggunakan bendera 'g' untuk global.

Mari gunakan contoh untuk menunjukkan cara arahan 's' berfungsi:

tetapi 's / barisan / matahari / g’ file.txt > sun.txt


Apabila ungkapan sedemikian diberikan, ia bermakna:

'g' bermaksud global. Ingat bahawa dalam contoh pertama, apabila kita menggunakan bendera 'i', hanya terdapat satu penggantian. Sekarang setelah kami menambahkan 'g' untuk global, ini bermakna pengganti di mana-mana sahaja. Jadi, daripada menyebut baris pertama, baris kedua, baris ketiga dan baris terakhir, ia menyebut matahari pertama, matahari kedua, matahari ketiga dan matahari terakhir. Ia menggantikan baris perkataan dalam keseluruhan fail (di mana-mana) dengan perkataan 'matahari'.


Sekarang, bagaimana jika kita ingin memilih satu baris berdasarkan perkataan yang terkandung di dalamnya? Nah, kita dapat melihat bahawa baris terakhir 'file.txt' mempunyai perkataan 'terakhir' di dalamnya. Sekarang, katakan bahawa kita mahu 'Ini adalah baris terakhir. Ini ayat terakhir.” ayat menjadi “Ini hantu terakhir. Ini ayat terakhir.”

Kami menulis perkara berikut:

tetapi ' / terakhir / s / barisan / hantu / ’ file.txt > ghost.txt


'Terakhir' di sini memberitahu SED untuk mencari baris yang mempunyai perkataan 'terakhir' dan kemudian menggantikan perkataan 'garisan' dengan 'hantu' dalam baris itu.


Sekarang, andaikan kita mahu melakukan sebaliknya. Katakan bahawa kita mahu setiap baris tanpa perkataan 'terakhir' mempunyai perkataan 'baris' ditukar kepada 'hantu'. Mari kita tulis yang berikut:

tetapi ' / terakhir /! s / barisan / hantu / ’ file.txt > hantu2.txt


Seperti yang anda lihat di sini, setiap baris kecuali yang terakhir (yang mengandungi perkataan 'terakhir') mempunyai perkataan 'baris' digantikan dengan perkataan 'hantu'.


Kita juga boleh melakukan ini dengan nombor baris:

tetapi ' 3 , 4 ! s / barisan / malam / i’ file.txt > malam.txt


Dalam kes ini, baris 3 dan 4 ditinggalkan tetapi setiap baris lain mempunyai perkataan 'baris' digantikan dengan perkataan 'malam'.

Berbilang Perintah

Sekarang, bagaimana jika anda mempunyai berbilang arahan? Adakah anda lebih suka melakukannya satu demi satu atau sekaligus dan menjimatkan masa dan kerja anda?

Bagaimana jika kita ingin menukar perkataan 'pertama' kepada 'hari', 'kedua' kepada 'malam', dan 'selebihnya' kepada 'hantu'? Kami menggunakan koma bertitik untuk melakukan ini. Jangan lupa untuk meletakkan koma bertitik di hujung!

Sila ambil perhatian bahawa anda tidak semestinya perlu meletakkan bendera 'i' atau bendera 'abaikan' tetapi anda mesti meletakkan garis miring (/) selepas frasa transformasi.

Sekarang, mari kita semak dengan contoh:

tetapi 's / pertama / hari / ; s / kedua / malam / ; s / ketiga / hantu / ; s / terakhir / hantu / ;’ file.txt > combination.txt


Kesimpulan

Editor strim atau SED ialah cara memilih perkataan atau corak dan mengubahnya. Ia sebenarnya adalah baris perintah yang setara dengan fungsi 'cari' dan 'ganti' Tetingkap. Perintah SED boleh menjadi sangat rumit tetapi jika anda sekurang-kurangnya tahu asasnya, anda sudah bersedia untuk mengambilnya! SED sebenarnya adalah alat yang sangat berkuasa dengan banyak fungsi. Walaupun kami tidak dapat merangkumi kesemuanya dalam satu tutorial, kami membincangkan asas SED. Pada dasarnya, kami belajar cara mengubah perkataan tertentu menggunakan perintah 's' di mana 's' bermaksud pengganti. Kita boleh menggantikan perkataan untuk perkataan lain, secara terpilih memilih baris di mana penggantian akan berlaku, atau menafikannya. Sama ada cara, ini adalah bahagian paling mudah tentang SED.

Selamat Mengekod!