Sauya rubutu a cikin fayiloli tare da umarni ɗaya kawai: perl

A wasu lokuta muna son maye gurbin rubutu a cikin fayil, misali, canza a Daftarin aiki.txt duk abin da "iyalina" ke faɗi akan "mu." Don cimma wannan zamu iya amfani da editan rubutu da muka fi so (Kate, Gedit, SublimeText, da sauransu) amma yana da kyau koyaushe sanin bambance-bambancen karatu, wasu hanyoyi don samun sakamako iri ɗaya 🙂

Ya faru da cewa tare da maganganun yau da kullun ana iya cimma wannan, umarnin sed yana da kyau kawai, yana da bambance-bambance mara iyaka da zaɓuɓɓuka amma ... ga waɗanda kawai ke son maye gurbin rubutu daga kalla hadaddun hanyar yiwu, a gare su shine na kawo wannan mafi sauƙin bambancin:

Bayan misali, muna da fayil ɗin Daftarin aiki.txt located in $ HOME / Document.txt tare da rubutu mai zuwa:

(...) iyalina Ya zama kamar duka ne, kamar naka ko na maƙwabcinka. A gaskiya iyalina Muna ƙoƙari mu zama mutane masu ɗawainiya kuma a idanun al'umma, siyasa da zamantakewa daidai. Koyaya, a cikin gidana akwai baƙar fata tumaki, kuma wannan shine matsayina na LOL!. Ni koyaushe nine wanda baya tsoron fadar abinda yake tunani (koda kuwa hakan bai dace ba a idanun al'umma), kodayake a zahiri iyalina sun gaji da datti zamantakewar yau.

Tare da umarni mai zuwa zaku canza «iyalina"by"mu":

perl -pi -e "s[mi familia][nosotros]g" $HOME/Documento.txt

Yana da sauki 🙂

Don haka rubutun zai kasance:

(...) mu Ya zama kamar duka ne, kamar naka ko na maƙwabcinka. A gaskiya mu Muna ƙoƙari mu zama mutane masu ɗawainiya kuma a idanun al'umma, siyasa da zamantakewa daidai. Koyaya, a cikin gidana akwai baƙar fata tumaki, kuma wannan shine matsayina na LOL!. Ni koyaushe nine wanda baya tsoron fadar abinda yake tunani (koda kuwa hakan bai dace ba a idanun al'umma), kodayake a zahiri iyalina sun gaji da datti zamantakewar yau.

A tsari ne:

perl -pi -e "s[lo-que-quiero-cambiar][lo-nuevo-a-poner]g" archivo-en-el-cual-reemplazar

Umurnin na iya zama da ɗan rikitarwa, bari mu ɗan fasa shi kuma mu yi masa bayani kaɗan kawai more

  • perl : Abin da za mu yi amfani da shi, perl
  • -pi : Pí, ta yaya π (kimanin kimanin 3.14)
  • -e : E yana tunanin sa don «e ya aiwatar» ^ - ^
  • Bayan haka » muna bude tare da s kuma mun rufe da g: "sg" Ka yi tunanin S don farawa da G don Game Over 😀
  • Juya tsakanin sg dole ne mu sanya saiti biyu: [] y [], kasancewar haka: "S [] [] g"
  • A cikin bakayen farko kamar yadda na fada a sama, rubutun da muke son cirewa da maye gurbin shi da wani zai tafi, yayin da a zango na biyu na sabon rubutun da za a sanya zai tafi, a bin misali: "S [iyalina] [mun] g"

Mai sauki ba?

Bayanin ya fi yawa fiye da abin da ya wajaba ga umarnin, yana da sauƙin fahimta 🙂

Perl yana da yawa, yafi hanya don maye gurbin rubutu, harshe ne cikakke 😉

Idan kanaso ka kara sani game dashi, girka kunshin doka-doka kuma kalli whooodo abin da yake ba da izini, kawai wata duniya ce daban.

Af kuma don rufewa, kuna zaton kuna son nemo duk fayilolin .txt da kuke da su a $ HOME / Documents / kuma a cikin kowane ɗayan maye gurbin "iyalina" da "mu", za ku iya shiga sami + perl don cimma wannan:

find $HOME/Documentos/ -name *.txt -exec perl -p -i -e "s[mi familia][nosotros]g" {} \;

Ko ta amfani da katako:

perl -p -i -e "s[mi familia][nosotros]g" $HOME/Documentos/*.txt

Matsalar wannan bambancin na biyu shine cewa ba zai maye gurbin fayilolin da suke cikin manyan fayiloli manyan fayiloli 🙂 ba

Koyaya, Ina fatan kun same shi da ban sha'awa. A gare ni ya kasance da amfani sosai, tuni na iya maye gurbin rubutu kai tsaye daga tashar ... mai girma! 😀


Bar tsokaci

Your email address ba za a buga. Bukata filayen suna alama da *

*

*

  1. Wanda ke da alhakin bayanan: Miguel Ángel Gatón
  2. Manufar bayanan: Sarrafa SPAM, sarrafa sharhi.
  3. Halacci: Yarda da yarda
  4. Sadarwar bayanan: Ba za a sanar da wasu bayanan ga wasu kamfanoni ba sai ta hanyar wajibcin doka.
  5. Ajiye bayanai: Bayanin yanar gizo wanda Occentus Networks (EU) suka dauki nauyi
  6. Hakkoki: A kowane lokaci zaka iyakance, dawo da share bayanan ka.

  1.   Boom m

    Da kyau, ina tsammanin yawancinmu a nan sun san umarnin sed, wanda ke aiki da manufa ɗaya, yana yin shi da kyau sosai kuma yana da sauƙin amfani ...

    1.    KZKG ^ Gaara m

      Godiya ga bayaninka,
      Bayani biyu kawai, me yasa kuka ce sed yana sa shi mafi kyau? Shin da gaske ne mafi sauƙin amfani tare da yawancin 'baƙon' haruffa?

  2.   Federico A. Valdes Toujague m

    Gaisuwa ga kowa !!!. Na yi amfani da umarnin sed, kuma hanyar da aka bayyana anan tare da perl shine mafi sauki. Godiya KZKG ^ Gaara !!!.

    1.    KZKG ^ Gaara m

      Godiya ga sharhi 🙂
      Da kyau, aƙalla a ganina wannan ya fi maganganu na yau da kullun sauƙi ... cewa tare da yawancin 'baƙon' haruffa, wani abu mai rikitarwa don fahimta da koya za a iya yi wa waɗanda ba su da hankali.

      1.    giskar m

        Akwai wani karin magana na '' tsoho '' a wajen: «Na sami matsala, na yanke shawarar amfani da Maganganu na yau da kullun ... yanzu ina da matsaloli BIYU» 😉

        1.    KZKG ^ Gaara m

          HAHAHAHAHAHAHA !!!
          Maganganu na yau da kullun na iya ceton ranmu a wani lokaci ... ee, yana ɗaukar lokaci mai tsawo don koyon yadda ake amfani da su kuma ba a mutu ƙoƙarinmu ba.

          Idan da na san wannan umarnin shekaru da suka wuce, ALLAH !! Yaya rayuwata zata kasance simple

          1.    giskar m

            Tabbas! Abun kulawa dasu suna da iko sosai 🙂 Babu mafi kyawun sarrafa rubutu. Amma wani lokacin, kamar yadda kuke fada a cikin wannan yanayin tare da Perl, ba lallai bane kuyi nisa idan maye gurbin ya isa.
            Ina amfani da Python ko yaya :)

    2.    nisanta m

      Amma a cikin kishirwa na ga ya fi sauki ... shin ina yin wani abu ba daidai ba?

      sed -i "ee / menene-nake so-canji / sabo-a saka /" fayil-a-wacce-maye gurbin

      1.    KZKG ^ Gaara m

        heh heh ... kuma idan ina so in maye gurbin "http://my.blog.com/content/" by "http://my.blog.com/uploads/files/" 😀 ... dama can kuna da sanya \ tare da wurare da sauransu, kuma ya zama mai rikitarwa ko a'a?

        1.    nisanta m

          Ba lallai bane ayi amfani da / azaman mai raba hankali. Duba tare da +

          sed -i «s + http: //my.blog.com/content/+http: //my.blog.com/uploads/files/+» fayil

          1.    KZKG ^ Gaara m

            O_O… WTF!
            Ka bude min dukkan sararin samaniya yanzu .. O_O

          2.    giskar m

            Ina son wadannan sakonnin inda duk muke koyon wani abu 🙂
            Ni ma ban sani ba.

  3.   RAW-Basic m

    Na fi son amfani da kai tsaye vi ..

    Kamar yadda sauki kamar yadda:
    :% s / mu / iyalina / g

    % -> duk takardun
    s -> bincika
    g -> duk abin da ya faru

    Gaisuwa

    1.    KZKG ^ Gaara m

      Gracias!
      Ban san yadda zan yi shi da vi ba

  4.   st0bayan4 m

    Ara zuwa masu so!

    Gracias!

  5.   DuranG m

    Babbar shigarwa! Idan kowa yana da sha'awa, daidai yake da umarnin Linux sed: http://www.sysadmit.com/2015/07/linux-reemplazar-texto-en-archivos-con-sed.html

    1.    Shaƙatawa m

      Kuma menene ya faru idan a cikin fayil ɗin abin da nake so in maye gurbin yana da maganganu?
      Misali maye gurbin abin da ke faɗi rubutu: »1 ″ ta rubutu:» 2 ″
      yaya umarnin zai kasance?

  6.   Percy salgado m

    hola

    Ina so in maye gurbin kirtani wanda ke da @ a tsakiya kuma kawai na canza rubutu zuwa na kafin alamar ta.

    rubutu don canzawa: Long rayuwa Peru
    sabon rubutu: Viva mi patria @percysalgado
    An nuna: Ran mahaifata ya daɗe

    Na gode da taimakon ku

  7.   m m

    "\" Dole ne ku yi amfani da slash a gaban haruffa tare da amfani sau biyu @, #, don a fassara su azaman rubutu.

  8.   Gaba m

    Kuma yaya zanyi a windows ????