Tekstin muokkaus

konsolissa

Pitäisi noin 9Mt kokoisessa tiedostossa etsiä tekstistä tietyt sanat, ja lisätä rivinvaihto niiden eteen.

Onnistuuko tämä jotenkin helposti?

Eli pitäisi tekstissä löytää kaikki sanat jotka esiintyvät kaksi kertaa peräkkäin ja niiden välissä on kaksoispiste.

"tämä on teksti moi: moi ja tämä jatkuu vielä"

Eli pitäisi näiden "moi: moi" eteen lisätä rivinvaihto, jotta lopputulos olisi:

"tämä on teksti
moi: moi ja tämä jatkuu vielä"

Teksti on utf-8.

10

439

    Vastaukset 10

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • viisaammilta

      minä en osaa, mutta tiedän että tuo menee loistavasti esimerkiksi pikkuisella perlinpätkällä. Älä menetä toivoasi, jäämme odottamaan oikeasti osaavien apua :)

    • sed,awk,tr ja perl

      "Pitäisi noin 9Mt kokoisessa tiedostossa etsiä tekstistä tietyt sanat, ja lisätä rivinvaihto niiden eteen."

      Enpä ole asiantuntija, mutta tuollaiset hommat hoitunevat ohjelmilla (mukana yleensä jakeluissa)
      sed, awk, tr ja tietenkin perlillä.
      http://www.cs.tut.fi/~jkorpela/unix/5.11.html

      Jos tuo "moi: moi" on vakio... onnistuisi tuo aika helposti jopa tekstieditorilla tai tekstinkäsittelyohjelmalla?

      • konsolissa

        Ei ole vakio, vaan se voi olla ihan mikä tahansa sana.

        Ainoa tunnusmerkki on että niiden välissä on kaksoispiste ja sitten välilyönti kaksoispisteen oikealla puolella.

        hei: hei
        joulu: joulu
        kevät: kevät

        jne...


      • seuravaa
        konsolissa kirjoitti:

        Ei ole vakio, vaan se voi olla ihan mikä tahansa sana.

        Ainoa tunnusmerkki on että niiden välissä on kaksoispiste ja sitten välilyönti kaksoispisteen oikealla puolella.

        hei: hei
        joulu: joulu
        kevät: kevät

        jne...

        man awk
        man sed

        sed:llä homma ainakin onnistuu.


      • mitä asiantuntijoita
        seuravaa kirjoitti:

        man awk
        man sed

        sed:llä homma ainakin onnistuu.

        täältä löytyykään!


      • konsolissa
        seuravaa kirjoitti:

        man awk
        man sed

        sed:llä homma ainakin onnistuu.

        Olisin erittäin kiitollinen jos joku neuvoisi minua näiden ohjelmien kanssa. En oikeastaan ymmärtänyt mitään man sivuista :(


      • Järki käteen
        konsolissa kirjoitti:

        Olisin erittäin kiitollinen jos joku neuvoisi minua näiden ohjelmien kanssa. En oikeastaan ymmärtänyt mitään man sivuista :(

        "oikeastaan ymmärtänyt mitään man sivuista :("

        Man sivut ovat referenssioppaita niille, jotka jo osaavat hommat, mutta tarkistavat detaljit.
        Dokumentaatiota on kaikista ohjelmista. Ohjelmat vain pitää itse opetella.
        Mietipä nyt itse: ei auta man g ? Opettaisiko joku minulle, kuinka c ohjelmoimaan?


    • Onnistuu sangen helposti.

      Laita tämä esim. tiedostoon nimeltä testiohjelma:

      #!/usr/bin/perl

      while() {
      chomp();
      /\W($ARGV[0]: $ARGV[0])\W/ && print "$`\n$1 $'\n";
      }

      (mikäli "type perl" tulostaa jotain muuta kuin tuo /usr/bin/perl, niin vaihda sen tuloste tuohon alkuun)

      Sen jälkeen aja komento chmod 755 testiohjelma.

      Sitten testaa toimiiko tuo itselläsikin:
      ./testiohjelma moi < testitiedosto

      1. ohjelmalle annettu parametri on se haettava sana, ja syötetiedosto annetaan ohjelman luettavaksi tavanomaisella komentotulkin uudelleenohjauksella (

      • viisaammilta

        Mää arvasin että Perli on maailman enstex tykein peli tollaseen :) Kun vielä joskus jaksais itte opetella..


      • konsolissa

        Ongelmana, etten tiedä haettava sanaa, se voi olla ihan mitä vaan.

        Ohjelman pitäisi osata tunnista automaattisesti kaksi peräkkäin oleva sanaa, joiden välissä on kaksoispiste.

        Esim jos merkkijono on:

        "Tämä on tällainen: tällainen esimerkki: vain mutta: ehkä joku: joku: tajuaa, mitä minä: minä tarkoitan"

        Niin lopputulos pitäisi olla:

        Tämä on \n
        tällainen: tällainen esimerkki: vain mutta: ehkä \n
        joku: joku: tajuaa, mitä \n
        minä: minä tarkoitan


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Takaisin ylös

    Luetuimmat keskustelut

    1. Törkeä petosepäily Suomussalmella

      Uutisoi maikkari. Uhrin nimiin on nostettu pankkilainaa, hänet on saatu sijoittamaan hevosiin ja ostamaan autoja. Ei ta
      Suomussalmi
      70
      3041
    2. Poliisi etälamautti, sitten pahoinpiteli

      Vaikeasti kehitysvammaisen niin vakavasti että kuoli pian sairaalassa. Ei osannut kehitysvammainen heti noudattaa polii
      Maailman menoa
      366
      1140
    3. Mies, olen pahoillani kun olen kuvitellut

      Että pitäisit minusta. En sitä mistään tähdistä kuitenkaan lukenut, mulle vaan tuli jostain semmoinen tunne, kun itse ty
      Ikävä
      65
      795
    4. Anni Ihamäki saa tylyä kommenttia TTK:sta - Erityisesti tämä "vääryys" ärsyttää

      Kaikille ei ole mieleen se, että Anni Ihamäki on mukana uudella Tanssii Tähtien Kanssa -kaudella. Ihamäki saa varsin ty
      Kotimaiset julkkisjuorut
      32
      749
    5. Mitä et ole valmis sietämään ihmissuhteissasi ja miksi?

      Aiemmin jo kyseltiin mitkä vaatimukset olivat mielestänne liiallisia. Kyselläänkin nyt sitä, että millaisilla asioilla s
      Sinkut
      263
      646
    6. Päivän Riikka: Pandan suklaatehdas Jyväskylästä Viroon

      Menkää töihin! Viroon! --- Liki sata vuotta kestänyt suklaantuotanto makeisvalmistaja Pandan tehtaalla Vaajakoskella pä
      Maailman menoa
      140
      598
    7. Tiesitkö? Vappu Pimiän ensimmäinen aviomies ei ole Teemu-rakas

      Vappu Pimiä on tätä nykyä naimisissa Teemu Huuhtasen kanssa. Pimiä on toista kertaa naimisissa, sillä ensimmäinen liitto
      Kotimaiset julkkisjuorut
      19
      579
    8. Älä nyt ylikuormitu vaikka sinusta pidänkin rakas nainen

      Tiedän, että olet minulle oikea. En halua pilata tätä juttua malttamattomuudella, mutta epäilen. Haluan vain olla lähel
      Ikävä
      31
      548
    9. Sysmä tarvitsee päätöksiä

      Sysmä tarvitsee päätöksiä – ei p*anjauhantaa** Kirjoitan kuntapolitiikan ulkopuolisena tarkkailijana. Sysmän poliittinen
      Sysmä
      17
      515
    10. Älä katoa elämästäni

      Kävelyllä mietin olisitpa varjo takanani vierelläni sivullani Älä katoa koskaan ole siinä pidä kädestäni kiinni ole kan
      Ikävä
      29
      489
    Aihe