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ää!!!
grep temppu?
3
912
Vastaukset
- 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
Jussi Halla-aho huolissaan Sofia Virrasta
Jussihan on vanha vihreä. Onko tässä kyse alkukesän kiimasta, kun aidan toisella puolella oleva vihreä alkaa kiinnostama315119Sofia Virta kadonnut....onko juomassa?
Virran poissaolo eduskunnasta on herättänyt huomiota. Esimerkiksi Ilta-Sanomat kertoi aiemmin, että Virta on ollut tällä644101Julkista 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 palve783676Ensin Henry Novak ja nyt sitten se Irlannin tapaus
jossa mustaihoinen afrikkalainen mieshenkilö puukottaa valkoihoista maassa makaavaa miestä useita kertoa pään alueelle.732728Tytti Tuppurainen: Suomen pakolaiskiintiö pitäisi nostaa 10 000 vuodessa
asia on faktaa, noin Tytti sanoi aiemmin. Kun taas Orpon hallitusohjelman mukaisesti Suomen pakolaiskiintiö on pudotettu1582534Halla-aho sivaltaa edustajantyöstään lintsaavaa Sofia Virtaa
https://www.iltalehti.fi/politiikka/a/937c74d7-f905-4466-b9b4-abd017fe5b63 Kansanedustajan on ilmoitettava poissaolosta602388Islamovasemmistolaisuus - tälläista termiä käytetään
Termi tarkoittaa alunperin äärivasemmiston ja muslimifundamentalistien liittoa, jonka ytimessä oli antisemitismi. Isl792199Mitä tapahtui?
Mitä tapahtui keskiviikkoiltana kun oli paljon hälytysajoneuvoja ja mediheli?282185- 1381705
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 ko401548