Saakohan Applescriptin kanssa käytettyä "regular expressions"? Tässä tapauksessa tarvitsisin niitä kun teen muutaman peräkkäisen hae-korvaa.
Aloitin vasta Applescriptin kanssa, mutta löysin tarpeeseeni sopivan pätkän, jonka toiminnan sitten jopa ymmärsin. Nyt vain tarvitsisi saada käyttöön "regular expressions". Saakohan?
--tell application "TextEdit"
tell application "SubEthaEdit"
set text of document 1 to my doRplc(get text of document 1, "hae tämä 1", "korvaa tällä 1")
set text of document 1 to my doRplc(get text of document 1, "hae tämä 2", "korvaa tällä 2")
end tell
on doRplc(txtStr, srchStr, rplcStr)
set {OldDelims, AppleScript's text item delimiters} to {AppleScript's text item delimiters, {srchStr}}
set temp to every text item of txtStr
set AppleScript's text item delimiters to {rplcStr}
set txtStr to temp as text
set AppleScript's text item delimiters to OldDelims
return txtStr
end doRplc
Käytössä on 10.3.9, mutta tuossa pöydän nurkalla on vielä paketissa tänään ostamani Tiikeri. Saakohan sen Automatorin kanssa tehtyä tällaista näppärämmin, jopa ehkä?
Applescript ja regular expressions
Xcode, Mac OS X Server sekä muuta hauskaa ja hyödyllistä
6 viestiä
• Sivu 1/1
-
- Viestit: 44
- Liittynyt: 18.11.2004 klo 11.12
- Paikkakunta: Pori
Applescript ja regular expressions
Viesti Kirjoittaja JIH »
-
- Viestit: 1014
- Liittynyt: 6.11.2004 klo 19.35
Re: Applescript ja regular expressions
Viesti Kirjoittaja nobu178 »
Muistaakseni Applescript itse ei pysty käsittelemään säännönmukaisia lausekkeita, mutta toisen ohjelman kautta kyllä. Seuraava tieto voi olla vanha. Jos esim. haluaa käyttää Unix-komentoja Applescriptista käsin, pitää käyttää jotain "do shell script" -tyyppistä komentoa(?). Käyttämällä vaikkapa perliä komentona, säännönmukaiset lausekkeet hoitunevat helpoiten. En ole itse kokeillut.JIH kirjoitti:Saakohan Applescriptin kanssa käytettyä "regular expressions"? Tässä tapauksessa tarvitsisin niitä kun teen muutaman peräkkäisen hae-korvaa.
Aloitin vasta Applescriptin kanssa, mutta löysin tarpeeseeni sopivan pätkän, jonka toiminnan sitten jopa ymmärsin. Nyt vain tarvitsisi saada käyttöön "regular expressions". Saakohan?
Onko kyseessä merkkijonojen vaihto tavallisessa tekstissä, vai pitääkö sinun käyttää välttämättä Applescriptiä ja SubEthaEditiä?
kolme yhteistyössä, yksi tietämättä
-
- Viestit: 44
- Liittynyt: 18.11.2004 klo 11.12
- Paikkakunta: Pori
Re: Applescript ja regular expressions
Viesti Kirjoittaja JIH »
No joo, ei tarvitse välttämättä käyttää Applescriptiä eikä sen puoleen SubEthaEditiäkään. Ajattelin vain ottaa ensituntuman Applescriptiin tämän tehtävän parissa.
Varsinainen tarve olisi vain saada toistettua useampi find-replace -operaatio, jotka joka työstettävän tiedoston kohdalla ovat samanlaiset. Lähtökohta, eteen tuleva tiedosto, on puolipisteellä erotettu taulukko, csv-muotoinen, jossa on kilpailutuloksia. Siitä pitää saada aikaiseksi sellaista muotoa, mikä käy suoraan paikallisen lehden urheilutuloksiin. Noilla säännönmukaisilla lausekkeilla ainakin olen onnistunut kivasti tarkkailemaan rivinvaihtoja ja poistamaan niitä. Julkaisumuodossa tulokset nimittäin ovat koko sarja, esim M-yl, yhtä pötköä ilman rivinvaihtoja ja pisteeseen päättyen. Vasta seuraava sarja alkaa uudelta riviltä. Lähtökohtana olevassa csv-taulukossa osallistujat ovat allekkain. Ja se alkuperäinen muoto on nimenomaan hyvä ja oikea siihen tarkoitukseen, mihin se on alunperin tehty.
Varsinainen tarve olisi vain saada toistettua useampi find-replace -operaatio, jotka joka työstettävän tiedoston kohdalla ovat samanlaiset. Lähtökohta, eteen tuleva tiedosto, on puolipisteellä erotettu taulukko, csv-muotoinen, jossa on kilpailutuloksia. Siitä pitää saada aikaiseksi sellaista muotoa, mikä käy suoraan paikallisen lehden urheilutuloksiin. Noilla säännönmukaisilla lausekkeilla ainakin olen onnistunut kivasti tarkkailemaan rivinvaihtoja ja poistamaan niitä. Julkaisumuodossa tulokset nimittäin ovat koko sarja, esim M-yl, yhtä pötköä ilman rivinvaihtoja ja pisteeseen päättyen. Vasta seuraava sarja alkaa uudelta riviltä. Lähtökohtana olevassa csv-taulukossa osallistujat ovat allekkain. Ja se alkuperäinen muoto on nimenomaan hyvä ja oikea siihen tarkoitukseen, mihin se on alunperin tehty.
-
- Viestit: 337
- Liittynyt: 10.12.2004 klo 13.06
- Paikkakunta: Turku
Re: Applescript ja regular expressions
Viesti Kirjoittaja deep »
Mä en kasitä miten apple scriptiin on muutenkin jätetty niin surkeat tekstinkasittely ominaisuudet. Niillä ei oikeesti tee mitään. Tai sitten en vaan osaa.
iB12" 1.2 G4 | MM1,66 CD | MB2,2 C2D
-
- Viestit: 55
- Liittynyt: 28.11.2004 klo 19.39
Re: Applescript ja regular expressions
Viesti Kirjoittaja T.M »
Onko jokin erityinen syy miksi teet juuri applescriptillä jos olet tekstitiedostoja käsittelemässä ?
Varmaan bash-skriptaus sed/awk:ia hyväksikäyttäen voisi olla parempi ratkaisu ja sitä voisi siirtää myös muille alustoille...
Itte olen tehny php:llä monimutkaisempia tiedostokäsittelyjä ja ajanu "ohjelmia" ihan komentoriviltä (tiedän gurut sanoo pitäisi tehdä perl:llä mutta kun siihen kieleen en pääse sisälle en sitten millään).
Varmaan bash-skriptaus sed/awk:ia hyväksikäyttäen voisi olla parempi ratkaisu ja sitä voisi siirtää myös muille alustoille...
Itte olen tehny php:llä monimutkaisempia tiedostokäsittelyjä ja ajanu "ohjelmia" ihan komentoriviltä (tiedän gurut sanoo pitäisi tehdä perl:llä mutta kun siihen kieleen en pääse sisälle en sitten millään).
-
- Viestit: 1014
- Liittynyt: 6.11.2004 klo 19.35
Re: Applescript ja regular expressions
Viesti Kirjoittaja nobu178 »
Joo, nyt ymmärrän. Itsekin olen halunnut opetella Applescriptiä. Mulla useimmat hommat hoituu kuitenkin komentotulkki- tai perl-skriptillä, niin olen lykännyt Applescriptin opettelua aina vaan tuonnemmas.JIH kirjoitti:No joo, ei tarvitse välttämättä käyttää Applescriptiä eikä sen puoleen SubEthaEditiäkään. Ajattelin vain ottaa ensituntuman Applescriptiin tämän tehtävän parissa.
[quoteuser="deep"]Mä en kasitä miten apple scriptiin on muutenkin jätetty niin surkeat tekstinkasittely ominaisuudet. Niillä ei oikeesti tee mitään. Tai sitten en vaan osaa.[/quote]
Appolescript lienee alkuaan tarkoitettu hoitamaan yleisimpiä rutiininomaisia hommia. Tuskin siitä kannattaa odottaa perlin kaltaisia regex-hienouksia.
Lisäys
Olin huolimaton. "do shell script" -käskystä on viestiketju samalla sivulla alhaalla. Lisäksi löysin tällaisen.
kolme yhteistyössä, yksi tietämättä
6 viestiä
• Sivu 1/1
Palaa sivulle “Ohjelmointi, skriptit ja palvelimet”
Hyppää
- Yleiset aiheet
- ↳ Ajankohtaista Apple-maailmasta
- ↳ Käyttöjärjestelmät
- ↳ Ohjelmat
- ↳ Yleiskeskustelu
- Mac ja oheislaitteet
- ↳ Yleiskeskustelu laitteista
- ↳ MacBook, MacBook Pro ja MacBook Air
- ↳ iMac
- ↳ Mac mini
- ↳ Mac Pro ja Mac Studio
- ↳ Ongelmia Macin kanssa?
- iPhone, iPad ja Apple Watch
- ↳ iPhone-, iPad- ja Apple Watch -laitekeskustelu
- ↳ iPhone-, iPad- ja Apple Watch -ohjelmat sekä iOS
- ↳ Ongelmia iPhonen, iPadin tai Apple Watchin kanssa?
- Huviksi ja hyödyksi
- ↳ Off-topic
- ↳ Kuva ja graafinen suunnittelu
- ↳ Audio ja musiikki
- ↳ Video, televisio ja elokuvat
- ↳ Pelit ja pelaaminen
- ↳ Ohjelmointi, skriptit ja palvelimet
- ↳ Tietoturva ja varmuuskopiointi
- ↳ Verkot, mobiilidata ja muut puhelimet
- ↳ Retronurkka
- ↳ Foorumin ylläpito
- Kauppapaikka
- ↳ Myydään Mac
- ↳ Myydään iPhone, iPad ja iPod
- ↳ Myydään muut Applen tuotteet
- ↳ Myydään muuta tietotekniikkaa
- ↳ Ostetaan Mac
- ↳ Ostetaan iPhone, iPad ja iPod
- ↳ Ostetaan muut Applen tuotteet
- ↳ Ostetaan muuta tietotekniikkaa
- ↳ Vaihdetaan, annetaan, työtä haetaan ja tarjotaan
- ↳ Kauppapaikan keskustelu ja hintavinkit