Stream Editor (SED): Ang Mga Pangunahing Kaalaman

Stream Editor Sed Ang Mga Pangunahing Kaalaman



Ang SED, na kilala rin bilang stream editor, ay isang napaka-kapaki-pakinabang na tool. Ito ay ginagamit upang maghanap ng isang partikular na salita o isang pattern at pagkatapos ay gumawa ng isang bagay sa salita o pattern o sa madaling salita ay baguhin ito. Sa Windows, ang SED ay kilala rin bilang mga function na 'hanapin' at 'palitan'. Ang SED ay kasama ng Ubuntu, kaya hindi na kailangang mag-install ng anuman; simulan mo lang itong gamitin. Sa tutorial na ito, sasabihin namin sa iyo kung paano gamitin ang SED o ang stream editor.

Ang 'S' na Utos

Ang pinakamahalaga sa lahat ng mga command sa SED o ang stream editor ay ang 's' command. Ang 's' ay nangangahulugang kapalit. Ang syntax ay ang mga sumusunod:







's / regexp / kapalit / mga watawat


Kaya, gumamit tayo ng file na tinatawag na 'file.txt' para sa mga halimbawa. Narito kung ano ang hitsura ng 'file.txt' kung papansinin mo ito:




Gumamit tayo ng isang halimbawa upang ipakita kung paano gumagana ang command na 's':



ngunit 's / una / buwan / i’ file.txt > moon.txt


Kapag ibinigay ang gayong ekspresyon, nangangahulugan ito:





    • s – Ito ay kumakatawan sa kapalit.
    • una – Ang salitang hahanapin sa file na tinatawag na “file.txt”.
    • moon – Ang salitang “first” ay pinalitan ng salitang “moon”.
    • i – Ito ay nangangahulugang balewalain. Hindi namin papansinin ang bahaging ito sa unang bahagi.
    • file.txt – Ang file kung saan hahanapin ng SED ang pattern o ang salita. Sa kasong ito, ang salitang 'una' ay magiging:
    • hinanap sa file.txt

    • moon.txt – Kapag ang salitang “first” ay pinalitan ng salitang “moon”, ito ay mase-save sa ilalim ng “moon.txt”.

Kaya, ano ang nangyayari dito? Pinapalitan ng SED ang salitang 'una' para sa 'buwan' sa unang pagkakataon lamang (na nangangahulugan na kung ang salitang 'una' ay nangyari nang maraming beses, hindi nito ito papalitan o papalitan ng maraming beses). Ang file na hinahanap nito ay tinatawag na 'file.txt' at kapag nagawa na ang pagbabago o pagpapalit, ito ay ise-save sa ilalim ng 'moon.txt'.



Ito ang hitsura nito:


Mangyaring tandaan na ilagay ang '/' kung saan ito kailangan. Kung aalisin mo ang isang '/', hindi tatanggapin ng SED ang utos.

Sa ngayon, pinalitan lang namin ang salitang 'una' ng 'nakatagpo' ng kapalit. Ngayon, ipagpalagay na gusto naming palitan ang salitang 'linya' (na nangyayari nang maraming beses - apat na beses upang maging tiyak) sa ikatlong linya ng salitang 'anghel'.

Paano namin partikular na tina-target ang ikatlong linyang iyon? Ginagamit namin ang sumusunod na utos:

ngunit '3s / linya / anghel / i’ file.txt > angel.txt


So, anong nangyari dito? Well, ang '3' ay tumutukoy sa numero ng linya. Samakatuwid, napupunta ito sa ikatlong linya. Pagkatapos, palitan ang salitang 'linya' para sa 'anghel' sa file na tinatawag na 'file.txt' at i-save ang binagong file bilang 'angel.txt'.


Paano kung gusto nating palitan o baguhin ang mga linyang '3' at '4'?

ngunit ' 3 ,4s / linya / anghel / i’ file.txt > angel2.txt



Tandaan na sa nakaraang halimbawa, ginamit namin ang flag na 'i' para sa hindi pagpansin. Ngayon, ginagamit namin ang flag na 'g' para sa global.

Gumamit tayo ng isang halimbawa upang ipakita kung paano gumagana ang command na 's':

ngunit 's / linya / araw / g’ file.txt > sun.txt


Kapag ibinigay ang gayong ekspresyon, nangangahulugan ito:

Ang 'g' ay nangangahulugang global. Tandaan na sa unang halimbawa, kapag ginamit natin ang flag na 'i', mayroon lamang isang kapalit. Ngayong nagdagdag kami ng 'g' para sa pandaigdigan, nangangahulugan ito ng kapalit kahit saan. Kaya, sa halip na sabihin ang unang linya, pangalawang linya, ikatlong linya, at huling linya, sinasabi nito ang unang araw, pangalawang araw, ikatlong araw, at huling araw. Pinapalitan nito ang linya ng salita sa buong file (kahit saan) ng salitang 'sun'.


Ngayon, paano kung gusto nating pumili ng isang linya batay sa isang salita na nilalaman nito? Well, makikita natin na ang huling linya ng 'file.txt' ay may salitang 'huling' dito. Ngayon, ipagpalagay na gusto namin ang 'Ito ang huling linya. Ito na ang huling pangungusap.' pangungusap upang maging “Ito ang huling multo. Ito na ang huling pangungusap.'

Sinusulat namin ang sumusunod:

ngunit ' / huli / s / linya / multo / ’ file.txt > ghost.txt


Ang 'huling' dito ay nagsasabi sa SED na hanapin ang linyang may salitang 'huling' at pagkatapos ay palitan ang salitang 'linya' ng 'multo' sa loob ng linyang iyon.


Ngayon, ipagpalagay na gusto nating gawin ang kabaligtaran. Ipagpalagay na gusto nating ang bawat linya na walang salitang 'huling' ay mapalitan ng salitang 'linya' sa 'multo'. Isulat natin ang sumusunod:

ngunit ' / huli /! s / linya / multo / ’ file.txt > multo2.txt


Tulad ng makikita mo dito, bawat linya maliban sa huli (na naglalaman ng salitang 'huling') ay may salitang 'linya' na pinapalitan ng salitang 'multo'.


Magagawa rin natin ito sa mga numero ng linya:

ngunit ' 3 , 4 ! s / linya / gabi / i’ file.txt > gabi.txt


Sa kasong ito, ang mga linya 3 at 4 ay tinanggal ngunit ang bawat iba pang linya ay may salitang 'linya' na pinapalitan ng salitang 'gabi'.

Maramihang Utos

Ngayon, paano kung marami kang utos? Mas gugustuhin mo bang gawin ito nang paisa-isa o lahat nang sabay-sabay at i-save ang iyong sarili ng ilang oras at magtrabaho?

Paano kung gusto nating baguhin ang salitang 'una' sa 'araw', 'pangalawa' sa 'gabi', at 'ang natitira' sa 'multo'? Ginagamit namin ang semi-colon para gawin ito. Huwag kalimutang ilagay ang semi-colon sa dulo!

Pakitandaan na hindi mo kailangang ilagay ang flag na 'i' o ang flag na 'ignore' ngunit talagang kailangan mong ilagay ang slash (/) pagkatapos ng pariralang pagbabago.

Ngayon, tingnan natin ito gamit ang isang halimbawa:

ngunit 's / una / araw / ; s / pangalawa / gabi / ; s / pangatlo / multo / ; s / huli / multo / ;’ file.txt > kumbinasyon.txt


Konklusyon

Ang stream editor o ang SED ay isang paraan ng pagpili ng salita o pattern at pagbabago nito. Ito talaga ang katumbas ng command-line ng mga function na 'hanapin' at 'palitan' ng Window. Maaaring maging kumplikado ang utos ng SED ngunit kung alam mo man lang ang mga pangunahing kaalaman, handa ka nang gawin ito! Ang SED ay talagang isang napakalakas na tool na may maraming mga function. Bagama't hindi namin masakop ang lahat sa isang tutorial, tinalakay namin ang mga pangunahing kaalaman sa SED. Sa esensya, natutunan namin kung paano baguhin ang isang partikular na salita gamit ang 's' na utos kung saan ang 's' ay kumakatawan sa kapalit. Maaari naming palitan ang mga salita para sa iba pang mga salita, piliing pumili ng isang linya kung saan magaganap ang pagpapalit, o kahit na itanggi ito. Alinmang paraan, ito ang pinakamadaling bahagi tungkol sa SED.

Maligayang Pag-coding!