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

858

    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. Ikävä sua j-mies!

      Enkä oikeesti ymmärrä miksi. Eihän me tunneta ees kovin hyvin. Mut haluaisin sun kanssa jotain säätöä sit kai vaan 🫦
      Ikävä
      53
      5089
    2. Voi itku! Sanna Marinilla EI OLLUT mitään tekemistä jäänmurtajakauppojen kanssa

      Miten tässä näin kävi? Sanna-kultti paniikissa.
      Maailman menoa
      91
      3932
    3. En välttämättä koskaan aikaisemmin tosissani uskonut mihinkään sielunkumppanuuteen ym

      Ennen kuin tapasin sinut. Oudointahan tässä on että ollaan tiedetty toisemme kuitenkin vuosia ja enemmän vuosia, mutta v
      Ikävä
      15
      3243
    4. Tykkäys ei tarkoita

      yhtään mitään!
      Ikävä
      37
      2834
    5. Puukotus Lidlissä

      Kuka sai puukkoo Lidlin pihas tänään. Ja kuka oli tekijä?
      Kankaanpää
      21
      2202
    6. Mulle riittäisi halaukset

      Ja juttelut mut sulle ei taida riittää
      Ikävä
      44
      2195
    7. Tarvitseeko

      kaivattusi suojelua?
      Tunteet
      39
      2156
    8. Mitä on tapahtunut myllymäessä ?

      On poliisit Sepänkadulla myllymäessä
      Kankaanpää
      9
      2085
    9. Sielunkumppanini ja nykyinen kaivattuni ovat hyvin samankaltaisia ihmisiä

      Ja uskon että he punovat langansa yhteen pian. Sielunkumppanille voi olla kova paikka hyväksyä kuinka välittävä ja herkk
      Ikävä
      34
      1732
    10. Paljon on tullut kuultua juttuja ja

      ei ole syytä olla uskomatta niitä.
      Ikävä
      64
      1721
    Aihe