← Back to team overview

sslug-teknik team mailing list archive

RE: Erstatte en linie med en anden i script

 

med perl kan du gøre sådan:

lav en program (her kaldet test.pl)

#!/bin/perl
while (<STDIN>) 
{
	unless (/\.L1TH\s+\d+\s+\"\w+\"\s+\"C0805_BDY/)
	{
		print $_;
	}
	###
	print "Hvad der nu skal stå istedet";
	###
}

det du så gør er at skrive ./test.pl filnavn > nytfilnavn
så kan du altid rename den nye fil til den gamle når du har checket at alt er i orden...

det vigtige er at regexp'en virker ritigt (linien med unless), der kan du med fordel læse4 på perls manual ang regexp...
(det skal understreges at der er andre måder at gøre det på også)

Håber det virker.. :-)

Søren Koch

> -----Original Message-----
> From: Torben Andersen [mailto:Torben.Andersen@xxxxxxxxxxxxxxxxxx] 
> Sent: Thursday, August 14, 2008 9:04 AM
> To: sslug-teknik@xxxxxxxx
> Subject: [TEKNIK] Erstatte en linie med en anden i script
> 
> Hejsa,
> 
> Har behov for et script på nogle gamle Solaris bokse, som kan 
> søge gennem en bestemt tekstfil, identificere en bestemt 
> linie og gemme den. Denne linie skal så erstatte den linie i 
> en anden fil, der opfylder samme betingelser.
> 
> En linie kan f.eks. se ud som:
> 
> .L1TH 5 "apb" "C0805_BDY" 0 2 0 0 -15 20 0 0 0 0 0 0 0 0 0 0 
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 
> linien identificeres på .L1TH og C0805_BDY - dvs. 1. og 4. ord.
> 
> Jeg har BASH, SED, AWK og PERL på maskinerne, men er selv 
> rimelig blank mht. brugen. Nogen råd??
> 
> Best Regards/Med venlig hilsen
> Torben Andersen
> Production Engineer
> 
> Flextronics
> Special Business Solutions 
> Hjortevej 4
> DK-7800 Skive
> Denmark
> 
> +45 96 14 30 00 main
> +45 96 14 31 50 direct
> +45 96 14 31 44 fax
> +45 xx xx xx xx mobile
> 
> http://www.flextronics.com
> 
> 
> Legal Disclaimer:
> The information contained in this message may be privileged 
> and confidential. It is intended to be read only by the 
> individual or entity to whom it is addressed or by their 
> designee. If the reader of this message is not the intended 
> recipient, you are on notice that any distribution of this 
> message, in any form, is strictly prohibited. If you have 
> received this message in error, please immediately notify the 
> sender and delete or destroy any copy of this message
> 
> 
> 
> 


Follow ups

References