← Back to team overview

sslug-teknik team mailing list archive

Re: sed regular expression driller mig

 

On 2012-08-10 13:44, Egon Andersen wrote:
 ....
>> Eller også så kan du helt glemme \( og \) ved at bruge dette sed udtryk
>>     "s/..den fejlagtige tekst..//"

 ....
> 
> Jeg stopper med at prøve at få 'sed' til at hjælpe mig med problemet.
> Enten åbner jeg filerne i emacs og retter det manuelt (pyha) eller også skriver jeg et
> mini program til dette specifikke problem.

prøv AWK, gammelt script program der bygger på regular expressions, og er velegnet
til opgaver med "tekst-in" og "tekst-ud".


Den kan i et shell script også kaldes direkte med programmet

men normalt f.eks.:
  awk  -f mitscript.awk    tekst-in.txt  > tekst-ud.txt

du får stadig lidt med escape af special tegn, men idet det nu er en .awk fil
så skal du ikke spekulere på at shell mv. driller med escape/backslash.

Tegnsæt kan du klare ved at gemme dit awkscript som iso-8859-1
brug evt. gedit til at gemme i ønsket tegnsæt.


Dvs. noget i stil med:

/\\(den fejlagtige tekst\\)/ {
   # gør noget med input linje, f.eks. erstat
   gsub(/\\(den fejlagtige tekst\\)/,'korrekt tekst')
   print
   next
}

{  # ikke match, blot print
   print
}




Follow ups

References