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
837
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
- 561248
Pitkäaikaistyöttömyys Suomessa harvinaisen paha
Karut työttömyysluvut, korkein luku yli neljännesvuosisataan.1541202Mitä vastaisit
Jos kysyisin, että lähdettäisiinkö lenkille yhdessä? Vain sinä ja minä, kaksin? Miehelle601115Tiedän ettet tehnyt tahallasi pahaa
Asiat tapahtuivat, ristiriidat ovat meitä vahvempia. Olemmeko me niin vahvoja, että selviämme tästäkin vielä? Aika paljo1021054Janni Tikkanen ohjattiin miesten pukuhuoneeseen
Vai olisko sittenkin Janne Tikkanen? Jos siellä jalkojen välissä on miesten killukkeet, mieshän tämä Janni on. Ja kuuluu501011Rakastan ja ikävöin sinua
Ei helpota tämä ikävä millään. Pelkäsin että tämä ajanjakso tulee olemaan juuri näin vaikea. Siksi halusin ennen tätä pä56843Nyt tiistain galluppi alkaa....
Kuka on sun elämän rakkaus? Ketä kaipaat edelleenkin? Nyt nimiä vaan rohkeesti tuohon alle.Tää on ikäväpalsta, eikä mikä55838Miten aiot saada kaivattusi?
1) loukuttamalla 2) kidnappaamalla 3) huijaamalla 4) jokin muu, mikä?54785- 32762
KIIKKUSTUOLI
Aloitetaan taas uudella alustalla, nuo pitkiksi venyneet ovat hankalia etsiä uusia viestejä, joskus vastauksia tulee sin73741