SED, juga dikenali sebagai Editor Strim, ialah alat yang sangat berguna. Ia digunakan untuk mencari perkataan atau corak tertentu dan kemudian melakukan beberapa operasi pada perkataan atau corak itu, atau dengan kata lain, mengubahnya. Dalam Windows, SED juga dikenali sebagai fungsi Cari dan Ganti. SED datang secara asli dengan Ubuntu, jadi tiada apa-apa untuk dipasang hanya mula menggunakannya. Dalam tutorial ini kami akan menunjukkan kepada anda cara menggunakan SED atau Editor Strim.
Arahan paling penting dalam SED atau editor strim ialah arahan "s". "s" bermaksud pengganti. Sintaksnya adalah seperti berikut:
/regexp/replacement/bendera
Jadi mari kita gunakan fail yang dipanggil "file.txt" sebagai contoh. Begini rupa "file.txt" jika anda mengikutinya:
Mari kita gunakan contoh untuk menggambarkan cara arahan "S" berfungsi:
SED‘S/First/Moon/I'file.txt>moon.txt
Apabila ungkapan seperti ini diberikan, ia bermakna:
Dicari dalam file.txt
Dalam SED, gantikan perkataan "first" dengan "moon" hanya dalam contoh pertama (bermaksud jika "first" muncul beberapa kali, hanya kali pertama akan diganti). Perintah ini mencari dalam fail bernama "file.txt" dan setelah penggantian selesai, hasilnya akan disimpan ke fail "moon.txt".
Beginilah rupanya:
Sila ingat untuk meletakkan "/" di mana perlu. Jika "/" ditinggalkan, SED tidak akan menerima arahan.
Setakat ini, kami hanya menggantikan "kali pertama" dengan perkataan "bertemu". Sekarang, katakan kita mahu menggantikan perkataan "baris" (yang muncul beberapa kali - empat kali, lebih spesifik) dalam baris ketiga dengan perkataan "Malaikat".
Bagaimana kita menyasarkan baris ketiga secara khusus? Kami menggunakan arahan berikut:
SED‘3S/Line/Angel/I'file.txt>angel.txt
Jadi, apa yang berlaku di sini? Okay, "3" menentukan nombor baris. Jadi ia datang ke baris ketiga. Kemudian, gantikan "angel.txt" dengan "line" dalam fail bernama "file.txt" dan simpan fail yang ditukar sebagai "angel.txt".
Bagaimana jika kita mahu menggantikan atau menukar baris "3" dan "4"?
Sed‘3,4s/line/Angel/I’file.txt>angel2.txt
Perhatikan bahawa dalam contoh sebelumnya, kami menggunakan bendera "i" untuk mewakili abaikan. Sekarang, kami menggunakan bendera "g" untuk mewakili global.
Mari kita gunakan contoh untuk menggambarkan cara arahan "s" berfungsi:
sed’s/line/sun/g ‘file.txt> txt
Apabila ungkapan seperti ini diberikan, ia bermakna:
G bermaksud global. Ingat, dalam contoh pertama, apabila kita menggunakan bendera "i", terdapat hanya satu penggantian. Memandangkan kami menambahkan "g" pada global, ini bermakna terdapat alternatif di mana-mana sahaja. Jadi, daripada menyebut baris pertama, baris kedua, baris ketiga dan baris terakhir, ia mengatakan matahari pertama, matahari kedua, matahari ketiga dan matahari terakhir. Ia menggantikan baris perkataan (di mana-mana) dalam keseluruhan fail dengan perkataan "matahari".
Sekarang, bagaimana jika kita ingin memilih baris berdasarkan perkataan yang terkandung di dalamnya? Nah, kita dapat melihat bahawa baris terakhir "file.txt" mempunyai perkataan "terakhir". Sekarang, katakan kita mahu "Ini adalah baris terakhir". Ini kata terakhir." "Ini hantu terakhir. Ini perkataan terakhir."
Kami menulis seperti berikut:
Sed‘/last/S/line/host/’file.txt>.ghost.txt
"terakhir" di sini memberitahu SED untuk mencari baris yang mengandungi perkataan "terakhir" dan kemudian menggantikan perkataan "garisan" dengan "hantu" dalam baris itu.
Sekarang, katakan kita mahu melakukan sebaliknya. Katakan kita mahu setiap baris tanpa perkataan "last" mempunyai perkataan "line" ditukar kepada "host". Jom tulis perkara berikut:
Sila pilih ‘/last/! S/line/ghost/’file.txt>.ghost2.txt
Seperti yang anda lihat di sini, setiap baris kecuali baris terakhir (yang mengandungi perkataan "terakhir") mempunyai perkataan "hantu" digantikan dengan perkataan "garisan".
Kita juga boleh melakukan ini menggunakan nombor baris:
Sed‘3,4! S/行/夜/I’file.txt>night.txt
Dalam kes ini, baris 3 dan 4 ditinggalkan, tetapi setiap baris lain mempunyai perkataan "baris" digantikan dengan perkataan "malam".
Jadi, bagaimana jika anda mempunyai berbilang arahan? Adakah anda lebih suka melakukannya satu demi satu atau sekaligus untuk menjimatkan masa dan kerja anda?
Apakah yang perlu kita lakukan jika kita ingin menukar perkataan "pertama" kepada "siang", perkataan "kedua" kepada "malam", dan perkataan "rehat" kepada "hantu"? Kami melakukan ini menggunakan koma bertitik. Jangan lupa letak titik koma di hujung!
Sila ambil perhatian bahawa anda tidak perlu meletakkan tanda "i" atau tanda "abaikan", tetapi anda perlu meletakkan garis miring (/) selepas frasa penukaran.
Sekarang, mari sahkan dengan contoh:
sed’s/first/day/;s/second/night/;s/third/ghost/;s/last/ghost/;’file.txt> combination.txt
Penyunting Strim atau SED ialah cara untuk memilih perkataan atau corak dan mengubahnya, ia secara berkesan adalah baris arahan yang setara dengan fungsi "cari" dan "ganti" Windows. Perintah SED boleh menjadi sangat kompleks, tetapi jika anda sekurang-kurangnya tahu asasnya, anda sudah bersedia! SED sebenarnya adalah alat yang sangat berkuasa. Walaupun kami tidak dapat merangkumi kesemuanya dalam satu tutorial, kami merangkumi asas SED. Pada asasnya, kami belajar cara menukar perkataan tertentu menggunakan perintah "s", di mana "s" bermaksud perkataan gantian. Kita boleh menggantikan perkataan dengan perkataan lain, memilih baris untuk menggantikan secara selektif, atau menafikannya. Sama ada cara, ini adalah bahagian paling mudah tentang SED.
Selamat pengekodan!
Atas ialah kandungan terperinci Editor Strim (SED): Asas. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!