Att byta mellanslag mot tab
- prototypen
- Inlägg: 11107
- Blev medlem: 6 augusti 2006, 13:25:04
- Ort: umeå
Att byta mellanslag mot tab
Bara ett litet problem, jag får en lista ur mitt CAD program där all data är separerad med mellanslag.
Pick and place maskinen får då inget vettigt ur listan, den ska gå att få in i ett kalkylark (Excell)
Mina ordbehandlingsprogram kan inte ersätta mellanslag.
Det som krånglar till det hela är att mina komponentnamn är skrivna med skriftspråk med mellanrum, snyggt och prydligt så det går inte rakt av ersätta mellanslagen heller.
Det skulle underlätta om man kan visa alla tecken som inte syns (mellanslag, tab och CR-LF)
Tidigare versioner av mitt bästa ordbehandlingsprogram kunde visa dessa tecken men det verkar vara bortrationaliserat.
Går det köra i Maccen är det fördelaktigt.
Rådata från Cadprogrammet innehåller ca 1500 rader för sista kortet men väldig mycket går att städa bort men 150 rader där det borde bli 7 kolumner tar en tid att handredigera.
Det är dessutom olika antal mellanslag mellan data.
Usch, jag har mailat programmakarna men har inte fått någon respons ännu. Det är ett köpisprogram så support finns.
Protte
Pick and place maskinen får då inget vettigt ur listan, den ska gå att få in i ett kalkylark (Excell)
Mina ordbehandlingsprogram kan inte ersätta mellanslag.
Det som krånglar till det hela är att mina komponentnamn är skrivna med skriftspråk med mellanrum, snyggt och prydligt så det går inte rakt av ersätta mellanslagen heller.
Det skulle underlätta om man kan visa alla tecken som inte syns (mellanslag, tab och CR-LF)
Tidigare versioner av mitt bästa ordbehandlingsprogram kunde visa dessa tecken men det verkar vara bortrationaliserat.
Går det köra i Maccen är det fördelaktigt.
Rådata från Cadprogrammet innehåller ca 1500 rader för sista kortet men väldig mycket går att städa bort men 150 rader där det borde bli 7 kolumner tar en tid att handredigera.
Det är dessutom olika antal mellanslag mellan data.
Usch, jag har mailat programmakarna men har inte fått någon respons ännu. Det är ett köpisprogram så support finns.
Protte
Re: Att byta mellanslag mot tab
WordPad och NotePad i Windows klarar det galant. MAC har jag ingen koll på, men det verkar strula när jag försöker göra det i AbiWord i min XUBUNTU-burk.
Re: Att byta mellanslag mot tab
Förslag:
gör ett script som
A) känner igen alla komponentnamn och tillfälligt byter ut mellanslagen inne i namnen mot något annat annars ej förekommande tecken
B) byter ut återstående mellanslag eller klungor av mellanslag mot tab-tecken
C) byter ut specialtecknet från A) till mellanslag
Eftersom du nämner mac så utgår jag från att du kör OS X och då är det ju lätt fixat för den som är mästare på unix-krumelurpillerprogrammering, d.v.s. scripta saker i en shell.
För att fixa A så lär du behöva en tabell som du manuellt fyller på med komponentnamnen, och/eller någon slags automagi som känner igen någon slags "namnkonvention" (t.ex. att alla motstånd heter ett R, ett mellanslag och ett tal o.s.v.).
Men vad är det för märkligt cad-program som inte kan exportera i ett vettigt maskinläsbart format?
Eller, hur ser utfilerna ut?
Klistra gärna in ett par rader som exempel, helst med "code"-mojängen i forumets formatteringsfunktion. Om det exempelvis är så att antalet tecken är fast och positionerna för varje kolumn är fast, d.v.s. det paddas ut med olika många mellanslag för att få raka och fina kolumner, så är det ju riktigt lätt att fixa till det på ett "idiotsäkert" sätt utan nåt behov av någon tabell eller liknande.
gör ett script som
A) känner igen alla komponentnamn och tillfälligt byter ut mellanslagen inne i namnen mot något annat annars ej förekommande tecken
B) byter ut återstående mellanslag eller klungor av mellanslag mot tab-tecken
C) byter ut specialtecknet från A) till mellanslag
Eftersom du nämner mac så utgår jag från att du kör OS X och då är det ju lätt fixat för den som är mästare på unix-krumelurpillerprogrammering, d.v.s. scripta saker i en shell.
För att fixa A så lär du behöva en tabell som du manuellt fyller på med komponentnamnen, och/eller någon slags automagi som känner igen någon slags "namnkonvention" (t.ex. att alla motstånd heter ett R, ett mellanslag och ett tal o.s.v.).
Men vad är det för märkligt cad-program som inte kan exportera i ett vettigt maskinläsbart format?
Eller, hur ser utfilerna ut?
Klistra gärna in ett par rader som exempel, helst med "code"-mojängen i forumets formatteringsfunktion. Om det exempelvis är så att antalet tecken är fast och positionerna för varje kolumn är fast, d.v.s. det paddas ut med olika många mellanslag för att få raka och fina kolumner, så är det ju riktigt lätt att fixa till det på ett "idiotsäkert" sätt utan nåt behov av någon tabell eller liknande.
Re: Att byta mellanslag mot tab
Kanske en lite mer "tekniskt" orienterad editor fixar det.
Jag har gjort liknande editeringar med UlraEdit32, http://www.ultraedit.com/.
Det finns en "free trial" som jag tror fungerar i 30 eller 60 dagar.
Är det en engångsgrej eller något du vill köra regelbundet?
> WordPad och NotePad i Windows klarar det galant.
Det är väldigt märkligt hur du kan vara så tvärsäker utan att ens
ha sett ett exempel på filen/datat! Och med *dom* verktygen...
> Eller, hur ser utfilerna ut?
Exakt! Innan vi vet det så är spekulationer ganska meningslösa...
Jag har gjort liknande editeringar med UlraEdit32, http://www.ultraedit.com/.
Det finns en "free trial" som jag tror fungerar i 30 eller 60 dagar.
Är det en engångsgrej eller något du vill köra regelbundet?
> WordPad och NotePad i Windows klarar det galant.
Det är väldigt märkligt hur du kan vara så tvärsäker utan att ens
ha sett ett exempel på filen/datat! Och med *dom* verktygen...
> Eller, hur ser utfilerna ut?
Exakt! Innan vi vet det så är spekulationer ganska meningslösa...
Re: Att byta mellanslag mot tab
En början:
perl -ne 's/\t/\\t/gs; s/\r/\\r/gs; s/\n/\\n/gs; print;'
Gör om alla tab till \t och återgång (CR) till \r samt nyrad till \n.
perl -ne 's/\t/\\t/gs; s/\r/\\r/gs; s/\n/\\n/gs; print;'
Gör om alla tab till \t och återgång (CR) till \r samt nyrad till \n.
Re: Att byta mellanslag mot tab
> En början:
> perl -ne 's/\t/\\t/gs; s/\r/\\r/gs; s/\n/\\n/gs; print;'
OK, you've lost me.
Hur har det där på något sätt
med problemet att göra. Vad är den "en början" till?
Fanns det över huvudtaget tabbar i filen?
För att säga någonting alls om en lösning så *måste* man se datat!
> Det som krånglar till det hela är att mina komponentnamn är skrivna med skriftspråk med mellanrum,
Ja, det är sådana misstag som man lär sig av...
> perl -ne 's/\t/\\t/gs; s/\r/\\r/gs; s/\n/\\n/gs; print;'
OK, you've lost me.
med problemet att göra. Vad är den "en början" till?
Fanns det över huvudtaget tabbar i filen?
För att säga någonting alls om en lösning så *måste* man se datat!
> Det som krånglar till det hela är att mina komponentnamn är skrivna med skriftspråk med mellanrum,
Ja, det är sådana misstag som man lär sig av...
- prototypen
- Inlägg: 11107
- Blev medlem: 6 augusti 2006, 13:25:04
- Ort: umeå
Re: Att byta mellanslag mot tab
Ska lägga upp lite exempel i morgon, dags att sova nu.
Det är McCad som puttar ur sig datafilen
Nej det är inte engångs, IOM att det blir mer och mer ytmonterat även för mig så är detta ett växande problem.
Jag lämnar bort ytmonteringen och de har fått mera avancerad utrustning, förr kunde de fixa detta manuellt men inte nu.
Skriva script är inte min starka sida men det finns en möjlighet där, tror att det är flera mellanslag som ska ersättas med tab, i mina komponentnamn är det bara ett.
Med alla mellanslagen blir det raka kolumner.
Protte
Det är McCad som puttar ur sig datafilen
Nej det är inte engångs, IOM att det blir mer och mer ytmonterat även för mig så är detta ett växande problem.
Jag lämnar bort ytmonteringen och de har fått mera avancerad utrustning, förr kunde de fixa detta manuellt men inte nu.
Skriva script är inte min starka sida men det finns en möjlighet där, tror att det är flera mellanslag som ska ersättas med tab, i mina komponentnamn är det bara ett.
Med alla mellanslagen blir det raka kolumner.
Protte
- prototypen
- Inlägg: 11107
- Blev medlem: 6 augusti 2006, 13:25:04
- Ort: umeå
Re: Att byta mellanslag mot tab
Utgick från detta
prototypen skrev:Det skulle underlätta om man kan visa alla tecken som inte syns (mellanslag, tab och CR-LF)
Re: Att byta mellanslag mot tab
> Med alla mellanslagen blir det raka kolumner.
OK. Om alla kollumner har fasta bredder (sannolikt följer det något
maxvärde för de olika fältens innehåll) så kan man använda
positionerna istället. Det blir mycket säkrare än en rutin baserad
på mönster. Det spricker ju direkt om det plötsligt bara är
ett mellanslag mellan två kollumner...
> Utgick från detta...
OK. Jag antar att det syftade på funktionen i (t.ex) Word
för att visa avgränsare i ett dokument. Kanske att ett perlscript
är lösningen, men det är kan vara bättre att avvakta tills det
finns ett komplett exempel på dataformatet först.
OK. Om alla kollumner har fasta bredder (sannolikt följer det något
maxvärde för de olika fältens innehåll) så kan man använda
positionerna istället. Det blir mycket säkrare än en rutin baserad
på mönster. Det spricker ju direkt om det plötsligt bara är
ett mellanslag mellan två kollumner...
> Utgick från detta...
OK. Jag antar att det syftade på funktionen i (t.ex) Word
för att visa avgränsare i ett dokument. Kanske att ett perlscript
är lösningen, men det är kan vara bättre att avvakta tills det
finns ett komplett exempel på dataformatet först.
Re: Att byta mellanslag mot tab
Raka kolumner? Då går det rätt så lätt att i ett script klippa sönder raderna med "cut" för att städa bort mellanslag ur de kolumner som inte ska ha mellanslag och sedan skriva ut dem igen med valfritt skiljetecken.
Re: Att byta mellanslag mot tab
Ah, ett unix-verktyg.
Ja, om Protte har tillgång till det så.
Ja, om Protte har tillgång till det så.
