Ku beddel qoraalka gudaha faylalka keliya hal amar: perl

Mararka qaarkood waxaan rabnaa inaan ku badalno qoraalka feyl ku dhex jira, tusaale ahaan, bedelida Document.txt wax kasta oo "reerkayga" u sheegaan "innaga." Si tan loo gaaro waxaan isticmaali karnaa tafatiraha qoraalka aan door bidnay (Kate, Gedit, SublimeText, iwm) laakiin had iyo jeer way wanaagsan tahay in la ogaado noocyo kala duwan, siyaabo kale oo lagu gaari karo isla natiijada 🙂

Waxay ku dhacdaa taas muujinta joogtada ah waad ku guuleysan kartaa tan, amarka sedku si fudud ayuu u fiican yahay, wuxuu leeyahay noocyo iyo ikhtiyaarro aan dhammaad lahayn laakiin ... kuwa doonaya kaliya inay beddelaan qoraalka habka ugu adag ee ugu macquulsan, iyaga ayaga ah sababta aan ugu keenayo noocyadan fudud:

Raacida tusaalaha, waxaan haynaa faylka Document.txt ku yaal $ HOME / Document.txt oo leh qoraalka soo socda:

(...) qoyskeyga Waa sida kulligood, sida kuwaaga ama kuwa deriskaaga. Dhab ahaan qoyskeyga Waxaan isku dayeynaa inaan noqono dad mas'uul ah oo indhaha bulshada ah, siyaasad ahaan iyo bulsho ahaanba sax ah. Si kastaba ha noqotee, gurigayga waxaa ku jira lax madow, taasina waa kaalinteyda LOL!. Marwalba waxaan ahaa qofka aan ka baqayn inuu sheego waxa uu u maleynayo (in kasta oo aysan sida muuqata sax ku ahayn bulshada dhexdeeda), in kastoo xaqiiqda qoyskeygu ka dheregsan yihiin wasakh bulshada maanta.

Amarka soo socda waxaad ku badali doontaa «qoyskeyga"by"annaga":

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

Waa wax fudud 🙂

Marka qoraalka wuxuu noqon lahaa:

(...) annaga Waa sida kulligood, sida kuwaaga ama kuwa deriskaaga. Dhab ahaan annaga Waxaan isku dayeynaa inaan noqono dad mas'uul ah oo indhaha bulshada ah, siyaasad ahaan iyo bulsho ahaanba sax ah. Si kastaba ha noqotee, gurigayga waxaa ku jira lax madow, taasina waa kaalinteyda LOL!. Marwalba waxaan ahaa qofka aan ka baqayn inuu sheego waxa uu u maleynayo (in kasta oo aysan sida muuqata sax ku ahayn bulshada dhexdeeda), in kastoo xaqiiqda qoyskeygu ka dheregsan yihiin wasakh bulshada maanta.

Qaamuusku waa:

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

Amarku wuxuu umuuqan karaa inuu yara adagyahay, aan xoogaa kala jabinno oo aan si fudud waxyar uga sharaxno 😉

  • perl : Maxaan isticmaali doonaa, perl
  • -pi : Pí, sidee π (qiimaha ugu dhow ee 3.14)
  • -e : E wuxuu ku qiyaasaa «e inuu fuliyo» ^ - ^
  • Kadib xigashooyin » waxaan ku furaynaa a s waxaana ku xirmaynaa a g: "sg" … Bal qiyaas S for Start iyo G ee Ciyaarta Dheer Over
  • U soo jeeso sg waa inaan dhignaa laba qaybood oo qaansooyin ah: [] y [], iyadoo sidaas ah: "S [] [] g"
  • Qaybaha hore sidaan kor ku sheegay gudahood, qoraalka aan doonayno inaan ka saarno oo aan ku beddelno mid cusub ayaa ku socon doona, halka qaybta labaad ee qaansooyinka qoraalka cusub ee la dhigayo uu ku socon doono, isagoo raacaya tusaalaha: "S [qoyskayga] [waxaan] g"

Fudud maaha?

Sharaxaadu runtii way ka ballaadhan tahay waxa lagama maarmaanka u ah amarka, way fududahay in la fahmo 🙂

Perl wax badan, aad buu uga badan yahay qaab lagu beddelo qoraalka, waa luqad dhan 😉

Haddii aad rabto inaad waxbadan ka barato, ku xir xirmada perl-doc oo fiiri whooodo waxa ay u oggolaanayso, waa uun adduunyo kale.

Jidka iyo si aad u xidho, adiga oo u maleynaya inaad rabto inaad hesho dhammaan faylasha .txt ee aad ku haysato $ HOME / Documents / iyo mid kasta oo ku beddela "qoyskeyga" annaga ", waxaad ku biiri kartaa raadinta + perl si aad tan u gaarto:

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

Ama isticmaal kaar duurjoog ah:

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

Dhibaatada noocyadan labaad ayaa ah inaysan ku beddeli doonin faylasha ku jira fayl-hoosaadyada 🙂

Sikastaba, waxaan rajeynayaa inaad xiiso u heshay. Aniga ahaan runtii waxtar ayey ii aheyd, durba waxaan si toos ah uga beddeli karaa qoraalka barta laga soo galo ... weyn! 😀


Ka tag faalladaada

cinwaanka email aan la daabacin doonaa. Beeraha loo baahan yahay waxaa lagu calaamadeeyay la *

*

*

  1. Masuul ka ah xogta: Miguel Ángel Gatón
  2. Ujeedada xogta: Xakamaynta SPAM, maaraynta faallooyinka.
  3. Sharci: Oggolaanshahaaga
  4. Isgaarsiinta xogta: Xogta looma gudbin doono dhinacyada saddexaad marka laga reebo waajibaadka sharciga ah.
  5. Kaydinta xogta: Macluumaadka ay martigelisay Shabakadaha Occentus (EU)
  6. Xuquuqda: Waqti kasta oo aad xadidi karto, soo ceshan karto oo tirtiri karto macluumaadkaaga.

  1.   kaca dijo

    Hagaag, waxaan u maleynayaa in qaar badan oo inaga mid ahi ay yaqaanaan amarka sed, kaas oo u adeega isla ujeeddo, way ka fiican tahay wayna fududahay in la isticmaalo ...

    1.    KZKG ^ Gaara dijo

      Waad ku mahadsantahay faalladaada,
      Kaliya laba faahfaahin, maxaad u leedahay sedku wuu ka sii fiicnaanayaa? Runtii ma ka fudud tahay in lagu isticmaalo astaamo 'yaab badan'?

  2.   Federico A. Valdes Toujague dijo

    Dhamaan waad salaaman tihiin !!!. Waxaan adeegsaday amarka sed, iyo habka halkan lagu sharaxay ee leh perl ayaa ka fudud. Mahadsanid KZKG ^ Gaara !!!.

    1.    KZKG ^ Gaara dijo

      Waad ku mahadsantahay faallada 🙂
      Hagaag, uguyaraan aniga waxay ilatahay in tani ay ka fududtahay muujinta caadiga ah ... in astaamo badan oo 'yaab leh', wax runtii kakooban in la fahmo oo la barto lagu samayn karo kuwa aan aqoonta u lahayn.

      1.    giskard dijo

        Halkaas waxaa ku jirta maahmaah "duug ah" oo leh: "Dhibaato ayaan qabay, waxaan go'aansaday inaan isticmaalo Muujinta Caadiga ah ... hadda waxaan qabaa laba dhibaato" 😉

        1.    KZKG ^ Gaara dijo

          HAHAHAHAHAHAHA !!!
          Tilmaamaha joogtada ahi waxay nolosheena ku badbaadin karaan meel cayiman ... haa, waxay qaadataa waqti dheer in la barto sida loo adeegsado oo aan loo dhiman isku dayga.

          Haddii aan ogaan lahaa amarkan sanado ka hor, ALLAH !! sidee noloshaydu u fududaan lahayd 😀

          1.    giskard dijo

            Cad! Si fiican loo maareeyay waa kuwo aad u awood badan 🙂 Ma jiraan wax ka fiican oo lagu maareyn karo qoraalka. Laakiin mararka qaarkood, sidaad ku tidhaahdo kiiskan Perl, uma baahnid inaad intaas aad u fog haddii beddelku kugu filan yahay.
            Waxaan isticmaali lahaa Python si kasta :)

    2.    ka fogaansho dijo

      Laakiin harraad waxaan u arkaa xitaa mid ka fudud ... wax qalad ah miyaan sameynayaa?

      sed -i "haa / waxa-aan-rabo-in-beddelo / cusub-la dhigo /" faylka-lagu-beddelayo

      1.    KZKG ^ Gaara dijo

        heh heh ... iyo haddii aan doonayo inaan ku beddelo "http://my.blog.com/content/" kuna beddelo "http://my.blog.com/uploads/files/" 😀 ... horeyba halkaasba waa inaad u dhigataa \ meelaha iyo kuwa kale , oo waxay noqotaa mid murugsan mise?

        1.    ka fogaansho dijo

          Khasab maahan in la isticmaalo / sida kala-sooc. Ku fiiri +

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

          1.    KZKG ^ Gaara dijo

            O_O… WTF!
            Waxaad ii furtay adduunyo dhan oo xulashooyin ah hadda .. O_O

          2.    giskard dijo

            Waan jeclahay qoraalladan halka aan kulligeen wax ku baranno 🙂
            Aniguna taas ma aanan ogeyn.

  3.   Ceeriin-aasaasiga ah dijo

    Waxaan door bidaa inaan si toos ah u isticmaalo vi ..

    Sida ugu fudud ee:
    :% s / us / qoyskayga / g

    % -> dukumiinti dhan
    s -> raadinta
    g -> dhammaan dhacdooyinka

    Salaan

    1.    KZKG ^ Gaara dijo

      Gracias!
      Ma aanan ogeyn sida loo sameeyo vi

  4.   nacaybtire dijo

    Lagu daray kuwa ugu cadcad!

    Gracias!

  5.   n3 duufaan dijo
  6.   DuranG dijo

    Gelitaan weyn Haddii ay dhacdo in qofkasta uu xiiseynayo, wuxuu la mid yahay Linux sed amarka: http://www.sysadmit.com/2015/07/linux-reemplazar-texto-en-archivos-con-sed.html

    1.    Shaki dijo

      Oo maxaa dhacaya haddii faylka gudahiisa waxa aan doonayo inaan ku beddelo uu leeyahay xigashooyin?
      Tusaale ku beddel waxa ku qoran qoraalka: »1 ″ qoraal:» 2 ″
      sidee ayuu amarku noqon lahaa?

  7.   Percy salgado dijo

    Hola

    Waxaan rabay in aan badalo xarig leh @ dhexda oo kaliya qoraalka ku badalay kan hore ka hor.

    qoraalka ha la beddelo: Peru ha noolaato
    qoraalka cusub: Viva mi patria @percysalgado
    Muujiyay: dalkayga hooyo ha noolaado

    Waad ku mahadsantahay kaalmadaada

  8.   si qarsoodi ah dijo

    "\" Waa inaad u isticmaashaa kala goynta astaamaha kahor isticmaalka labada adeegsiga @, #, si markaa loogu tarjumo qoraal ahaan.

  9.   Gaba dijo

    Oo sideen ugu sameeyaa daaqadaha ????