← Back to team overview

sslug-teknik team mailing list archive

RE: Erstatte en linie med en anden i script

 

Tak til Søren for feedback.

Jeg skal være ærlig at indrømme, at jeg er newbie. For mig er det skrevet på Serbokroatisk:-)

Jeg har et problem med dit perl script: Den skal enten skrive linien intakt, eller hvis 1 ord er .L1TH og fjerde ord er "C0805_BDY" skal den skrive noget andet. Bemærk at fjerde ord er med anførselstegn, der nok er en reserveret karakter i Perl.

Nogen råd - alt modtages med kyshånd:-)

Best Regards/Med venlig hilsen
Torben Andersen

-----Original Message-----
From: soeren.koch@xxxxxxxx [mailto:soeren.koch@xxxxxxxx]
Sent: 14. august 2008 09:30
To: sslug-teknik@xxxxxxxx
Subject: RE: [TEKNIK] 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
>
>
>
>



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