grep temppu?

Mäkkihöperö

Kolmisarakkeinen pitkä taulukko on kopioitu veppisivulta, mutta erottimeksi tullut rivinvaihto CR eli (\r) joka solun väliin!
Sen palauttamiseksi alkuperäiseen muotoon kolmen ryhmän kaksi ensimmäistä CRää (\r) pitäisi vaihtaa TABeiksi(\t) ja kolmas jättää silleen.
Miten tuo tehdään grep komennoilla? Siis muodosta
A1
B1
C1
A2
B2
C2
jne
alkuperäiseen muotoon:
A1 B1 C1
A2 B2 C2
jne

On päässyt tempputaidot ruostumaan ;-(

Selaimen vanha versio kopioi tuon oikein, mutta uusi ei enää!!!

3

912

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • ertertet

      Jos sul sattuu olee python käytettävissä niin tämmösellä pitäs vääntyä:

      lines = open('asdasd.txt').read().split('\n')
      print ''.join(['%s\t%s\t%s\n' % tuple(lines[i:i 3]) for i in xrange(0, len(lines), 3)])

      • Mäkkitupalainen

        Taulukon alussa on otsikkotietoa, johon tuo kuvio ei sovi, joten skripti ei toimi koko tiedostolle, mutta editorilla voi helposti aloittaa halutulta riviltä. Mulla on siis editori, jonka Etsi/korvaa -kenttiin kelpaa myös grep-lausekkeet.
        Eikös niillä voisi määritellä tuollaista kolmen ryhmää, jossa etsitään:
        (*\r *\r *\r)
        joka korvataan:
        (1\t 2\t 3\r)

        Jotain tuon tapaista?

        Tuon tempun tarve tulee olemaan jatkuvaa ja sen voi tallentaa editorin hakukomennoksi pysyvästi.


      • sdfsdfss
        Mäkkitupalainen kirjoitti:

        Taulukon alussa on otsikkotietoa, johon tuo kuvio ei sovi, joten skripti ei toimi koko tiedostolle, mutta editorilla voi helposti aloittaa halutulta riviltä. Mulla on siis editori, jonka Etsi/korvaa -kenttiin kelpaa myös grep-lausekkeet.
        Eikös niillä voisi määritellä tuollaista kolmen ryhmää, jossa etsitään:
        (*\r *\r *\r)
        joka korvataan:
        (1\t 2\t 3\r)

        Jotain tuon tapaista?

        Tuon tempun tarve tulee olemaan jatkuvaa ja sen voi tallentaa editorin hakukomennoksi pysyvästi.

        Noh prkl en huomannut että tämä oli perl alue, muuten en olis mitään python skriptiä ees ehdottanut :)

        Grep lauseke? ilmeisesti kuitenkin tarkoitat "regular expression" -lauseketta :) Hämäsi vähäsen.

        Jos sinun on tarkoitus automatisoida tuon hakeminen ja muokkaaminen, niin äkikseltään tuntuis paremmalta unohtaa editori välivaihe kokonaan pois.

        Noh - kuitenkin tekasin joutessani regexpin joka toimii ainakin mun wintöötselissä (pythonilla) mutta sama regexp syntaksi siinä on käytössä.
        >>> p = re.compile('(.*)\n(.*)\n(.*)\n')
        >>> print p.sub('\\1\t\\2\t\\3\\n', s)
        A1 B1 C1
        A2 B2 C2
        A3 B3 C3

        Etköhän tuosta osaa muokata jo itekkin editoriisi toimivan syntaksin.. jos et päätä ohittaa koko vaihetta jollain skriptillä


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

    Luetuimmat keskustelut

    1. Jussi Halla-aho huolissaan Sofia Virrasta

      Jussihan on vanha vihreä. Onko tässä kyse alkukesän kiimasta, kun aidan toisella puolella oleva vihreä alkaa kiinnostama
      Maailman menoa
      31
      5119
    2. Sofia Virta kadonnut....onko juomassa?

      Virran poissaolo eduskunnasta on herättänyt huomiota. Esimerkiksi Ilta-Sanomat kertoi aiemmin, että Virta on ollut tällä
      Maailman menoa
      64
      4101
    3. Julkista rahaa ei tule antaa senttiäkään yksityisille yrityksille

      Julkinen raha on meidän yhteistä rahaa, ja se raha on tarkoitettu yhteiseen käyttöön, kuten esimerkiksi tuottamaan palve
      Maailman menoa
      78
      3676
    4. Ensin Henry Novak ja nyt sitten se Irlannin tapaus

      jossa mustaihoinen afrikkalainen mieshenkilö puukottaa valkoihoista maassa makaavaa miestä useita kertoa pään alueelle.
      Maailman menoa
      73
      2728
    5. Tytti Tuppurainen: Suomen pakolaiskiintiö pitäisi nostaa 10 000 vuodessa

      asia on faktaa, noin Tytti sanoi aiemmin. Kun taas Orpon hallitusohjelman mukaisesti Suomen pakolaiskiintiö on pudotettu
      Maailman menoa
      158
      2534
    6. Halla-aho sivaltaa edustajantyöstään lintsaavaa Sofia Virtaa

      https://www.iltalehti.fi/politiikka/a/937c74d7-f905-4466-b9b4-abd017fe5b63 Kansanedustajan on ilmoitettava poissaolosta
      Maailman menoa
      60
      2388
    7. Islamovasemmistolaisuus - tälläista termiä käytetään

      Termi tarkoittaa alunperin äärivasemmiston ja muslimifundamentalistien liittoa, jonka ytimessä oli antisemitismi. Isl
      Maailman menoa
      79
      2199
    8. Mitä tapahtui?

      Mitä tapahtui keskiviikkoiltana kun oli paljon hälytysajoneuvoja ja mediheli?
      Kiuruvesi
      28
      2185
    9. Mitä haluaisit sanoa kaivatullesi tänään?

      Mitä ajatuksia hänestä ja tilanteesta ylipäätään 💖
      Ikävä
      138
      1705
    10. Martina Aitolehti läpäisi Erikoisjoukot - Tilittää umpirehellisenä kuvauksista

      Martina Aitolehti selvisi Erikoisjoukot koulutuksesta. Hän myös malttoi pääosin pitää mölyt mahassaan, vaikka saikin ko
      Kotimaiset julkkisjuorut
      40
      1548
    Aihe