Ersätta returer med mellanslag?

Tråden skapades och har fått 8 svar. Det senaste inlägget skrevs .
1
  • Medlem
  • 2007-08-08 16:24

Jag letar efter ett program eller ännu hellre ett skript som kan läsa ett mail, plocka bort (nästan) alla returer och skapa en textfil med det nya innehållet.

Jag vill helst att den ska hoppa över ". \u000a" och ".\u000a".

När detta är klart ska den rensa bort alla dubbla mellanslag.

  • Medlem
  • Kiruna
  • 2007-08-08 17:11

Kommandot tr gör just detta:

tr -ds string1 string2

plockar bort tecken som ingår i string1 och plockar bort multipler av tecken som ingår i string2. Läser från stdin och skriver på stdout, så om du önskar läsa från en fil och skriva till en annan blir det

tr -ds string1 string2 < infil > utfil

  • Medlem
  • 2007-08-08 17:26

eh, jaha, vad gör jag med din kodsnutt?

  • Medlem
  • Kiruna
  • 2007-08-08 17:56

Tja, använda den förslagsvis...

Kanske förstod jag inte riktigt vad det var du ville uppnå, eller om du hade specifika krav på skriptmiljö. Ovanstående förslag är alltså ett kommando att köra i terminalen.

Om jag har en textfil, låt säga att den heter infil.txt, från vilken jag vill ta bort retur-tecken och se till att multipla instanser av mellanslag ersätts med en, och vill att resultatet sparas i en ny fil som heter utfil.txt, så skriver jag följande i terminalen:

tr -ds \r ' ' < infil.txt > utfil.txt

Vill man ha detta gjort från ex. ett AppleScript istället så kan man ju alltid använda sig av 'do shell script'. Har ingen färdig lösning på exakt hur det skulle se ut, men kan tänka mig att nåt i stil med

set input to texten-du-vill-ska-rensas
set result to do shell script "echo " & input & " | tr -ds \r ' '"

skulle kunna funka.

Sett denna tråd?

Applescript för att radera vissa ord ur ärenderaden i Mail - tex ordet SPAM
http://www.99.se/applescript/100652-applescript-foer-att-radera-vissa-ord-ur-aerenderaden-i-mail-tex-ordet-spam.html

Det behövs inte så många ändringar för att den skall jobba med meddelandetexten istället och/eller spara till fil.

  • Medlem
  • 2007-08-09 09:53
Ursprungligen av Taz_1999:

Det behövs inte så många ändringar för att den skall jobba med meddelandetexten istället och/eller spara till fil.

Säkert, men så vass är rjag inte på att skripta.

Är det möjligen så att du vill tvätta radbrutna mail och ha in dem i InDesign. I så fall behöver du inte gå över ån efter vatten. Spara filen som en ren textfil och vid montering i InDesign kryssar du i "Visa importalternativ" och väljer önskade alternativ

I ren text brukar jag använda BBEdit, med funktionen sök och ändra. Kör visa osynliga tecken och klipp och klistra in respektive tecken i respektive fält. Även filer bestående av hundratusentals rader går blixtsnabbt.

  • Medlem
  • 2007-08-09 09:49

Spot, ursäkta mig, men min begränsade kunskap i ämnet gör att jag bara kan formulera problem för appleskript. Men om ditt skript går att baka in i ett gränssnitt är det mer än välkommet.

***

Nix, jag vill inte ha in dem i InDesign.

Så här är det:
Redaktörer får mail från olika håll, ibland med radbrytningar, ibland inte. Innehållet i dessa mail ska klippas in i ett fönster i vårt redaktionella system Newspilot, som inte går att appleskripta.
Det går att fixa problemet med en quick'n'dirty "hitta '\u000a', ersätt med ' '", men jag skulle vilja ha en lite mer intelligent appleskriptlösning redan i mail.app, som dessutom kan gissa när det är nytt stycke och själv fatta om mellanslag ska skjutas in eller inte.
(Där räcker det iofs med att alltid lägga in mellanslag och sedan ta bort de dubbla.)

Det borde räcka med
- kopiera markerad text
- klistra in texten i ett nytt textedit-dokument
- ta bort alla ">" i början på en rad, med repeat
- ersätt alla radbrytningar som inte föregås av "." eller ". " med mellanslag
- ta bort alla dubbla mellanslag

Om man kan skippa de två första punkterna och få operationen redan i sjäva mailet är det bara en bonus.

Det slår mig nu att man kanske skulle vilja köra nästan hela Texttvagningsskriptet du så förtjänstfullt har sytt ihop åt oss, Richard. Bort med mellanslag före kolon och allt det där.

Och det slår mig också att man kanske vill ha detta inbakat i vår texttvätt i InDesign! Är det möjligt?

***

Jag kan passa på att rekommendera nämnda InDesignskript som Richard har skrivit åt oss på Sydsvenskan, som tvättar text från en massa skräp som skribenter brukar klämma ur sig.
Det kan du väl sälja fler gånger, Richard...

1
Bevaka tråden