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

758

    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. Anteeksi mies

      En vaan osaa kohdata sinua ja olla normaali. En tiedä mikä vaivaa. Samaan aikaan tekee mieli tulla lähelle ja kuitenkin
      Ikävä
      27
      3391
    2. Ripeyttä asiointiin

      Ottaa päähän yhden ja saman asiakkaan hitaus kassalla kun yhdellä kädellä nostelee ostoksia kärrystä ja välillä pitelee
      Hyrynsalmi
      28
      2141
    3. Palstan henkisesti sairaat ja lihavat

      Täällä on sairaita, työttömiä ihmisiä kirjoittelemassa joilla ei ole tarkoituksena kuin satuttaa ihmisiä. Jos eksyt pals
      Ikävä
      114
      1670
    4. Mietin aina vain

      Minä niin haluaisin nähdä sinut. Ei tuo yhden ainoan kuvan katsominen paljon helpota... Miksi sinä et voisi olla se roh
      Tunteet
      7
      1418
    5. Koska me nähdään

      Seuraavan kerran ja odotanko sitä?
      Ikävä
      76
      1359
    6. Kysyin kaikilta yhteisiltä tutuilta mielipidettä siitä, että kannattaako sinun kanssa alkaa!

      Päätös oli lähestulkoon yksimielinen. Minunkin vaisto antoi vaaranmerkkejä, mutta järkytyin mitä sinusta kuulin. Aluksi
      Tunteet
      138
      1236
    7. En tunne muita

      Kohtaan tätä samaa polttavaa halua vain sinua kohtaan. Ei vaan muut sytytä
      Ikävä
      64
      1056
    8. Olen vähän

      Hysteerinen se on totta. Etkai ymmärrä miten syvästi tunnen sinua kohtaan. Ja olet aina lähelläni. Olet osa jo jotain. I
      Ikävä
      10
      974
    9. Ollaan kuin yö ja päivä

      Monessa asiassa… molemmat ollaan kuitenkin älykkäitä ja tiedämme, ettei kannata edetä tämän pidemmälle.
      Ikävä
      70
      931
    10. Oletko joskus lähestynyt jotakin

      väärällä identiteetillä? Miksi?
      Ikävä
      102
      912
    Aihe