Olen kiertänyt ongelmaa avaamalla (copy-pastettamalla) tiedoston esim openofficessa ja sieltä siirtämällä tai suoraan editoimalla sitten saanut aikaan haluamani tiedostomuodon.
Meillähän on ihan samat harrastukset
. Onhan se jo aika tehokasta, ja tavallaan mielenkiintoista, tuolla etsi ja korvaa:lla pieksää tiedot oikeaan muotoon. Tuo OOfficen Etsi ja Korvaa on varmasti hyvä, kunhan siihen perehtyy. Oma kärsivällisyys ei sen opetteluun ole vielä riittänyt.
Itse käytän nimen omaan Gedit:iä.
ctrl+h
Rivinvaihto on \n ja tabulaattori on \t
Huomaa myös kätevä -> Muokkaa -> Lajittele -toiminto.
Kun ensin valitset tekstin hiirellä (myös rivinvaihdon tai tab'in) ja sitten näppäilet "ctrl + h" niin vaihdettava teksti on jo valmiina ruudussa.
Juuri tällä tyylillä olen jaksanut tähän asti
Myös sillä on merkitystä mistä ohjelmasta copy-pastetat tiedot; firefox, opera tai netscape (sea-monkey) antavat monesti aivan erilaisen tuloksen.
Niin on eroja. Oletkos vielä joutunut kopioimaan pdf:ästä? Ainakin viimeksi,(on toki jo aikaa), kun Evince:stä jouduin kopioimaan satunnaisesta pdf:ästä, niin taisin nostaa kädet pystyyn jatkoa ajatellen. Oli aika hirveää, kun ei välittänyt palstajaosta mitään, vaan tekstit tulivat laidasta laitaan...
Se varmaan kannattaisi tehdä välitulostuksen kautta. Jos tuolla ylläolevalla Python-ohjelmalla haluaisit tehdä sen, niin se näyttäisi esim. tältä:
tchange ":" "\n:<newline>" tiedosto.txt >tmp.txt
tchange ":" "(.*?)<newline>(.*?)<newline>:\1 \2\n:<newline>:\n" tmp.txt
Alkaa vaikuttamaan siltä, että tuon joutuu opettelemaan..
En itse muista ihan tarkkaan Sedin syntaksia, mutta säännölliset lauseet varmaan löydät tuosta. Periaatteessa muutetaan ensin rivinvaihdot \n väliaikaisesti muotoon <newline>, sitten (.*?) mikä tahansa merkki, toistuu miten monta kertaa hyvänsä, mutta kuitenkin lyhyin osuma. Sulkeet tarkoittavat että tästä tulee ryhmä numero 1, johon voi myöhemmin viitata merkinnällä \1. Sen jälkeen tulee ensimmäinen <newline>,sitten tulee toinen ryhmä, ryhmä \2. Mahdollinen viimeinen pariton rivi täytyy vielä hoitaa erikseen: <newline>:\n
Jos haluat liittää kolme riviä niin toistat vain kuvion (.*?)<newline> kolmanteen kertaan, ja viittaat siihen ryhmän tunnuksella \3.
Sedin ohjeissa muistaakseni oli erityissyntaksi tällaista varten, mutta en jaksa nyt alkaa etsimään sitä.
Huh
, kohta joudun kokeilemaan tuota. Sellaisen huomion tein tuon Sed / Gedit -parivaljakon kanssa, että Sedillä voi lisätä rivejä vaikka välilyöntien tilalle käskyllä
s/ /\n/g
...mutta jos koettaa poistaa rivinvaihtoja niin tuo
\n ei tehoa ollenkaan. Päivä on luettu ja kokeiltu, mutta ei vielä ole sattunut ratkaisu kohdalleen.