← Back to team overview

sslug-teknik team mailing list archive

RE: Erstatte en linie med en anden i script

 

Hmm det må være noget med at escape ordentligt (mit gæt er at der i bahs filen skal stå noget i stil med \\\" Altså 3 escapes efterfulgt af " 
Du må prøve dig frem.
Jeg havde selv samme problem engang (om end det var et perlscript der skulle generere end html side indeholdende et javascript der skulle lave en popup html med et javascript til at lukke den når den mistede fokus, tror nok jeg endte med 8 escapes hver gang jeg skulle lave en " eller ' for at de 'overlevede' korrekt....)

Søren

> -----Original Message-----
> From: Torben Andersen [mailto:Torben.Andersen@xxxxxxxxxxxxxxxxxx] 
> Sent: Friday, August 15, 2008 11:08 AM
> To: sslug-teknik@xxxxxxxx
> Subject: RE: [TEKNIK] Erstatte en linie med en anden i script
> 
> Tak til alle for feedback. Er næsten i mål med: 
> 
> --------------------------------
> #!/usr/local/bin/perl
> $algo_level = @ARGV[0];
> $algo = @ARGV[1];
> $new = @ARGV[2];
> #print "$new\n";
> while (<STDIN>) 
> {
> 	unless
> (/$algo_level\s+\d+\s+\"\w+\"\s+\"$algo\"/)
> 	{
> 		print $_;
>     	    	next;
> 	}
> 	###
> 	print "$new\n";
> 	###
> }
> ---------------------------------
> 
> Problemet for mig, er at erstatningsstrengen (argument 3) er af typen:
> .L1TH 5 "apb" "C0805_BDY" 0 2 0 0 -15 20 0 0 0 0 0 0 0 0 0 0
> 
> Dvs. den indeholder " som er reserveret tegn. 
> Erstatningsstrengen genereres i et bash script som kalder 
> perl scriptet. Hvordan kan man i et bash script i en streng 
> erstat " med \", således at perl scriptet kan forstå det??
> 
> Best Regards/Med venlig hilsen
> Torben Andersen
> 


Follow ups

References