Gawk - Text replace - need help

Hello, i am a working student and have to build a patch setup.
I have to replace 2 lines in a .txt file. Can someone help me please.

Now:

wrapper.java.mainclass=org.tanukisoftware.wrapper. WrapperSimpleApp
wrapper.java.classpath.2=../../jdk/lib/tools.jar

replace with:

#wrapper.java.mainclass=org.tanukisoftware.wrapper .WrapperSimpleApp
wrapper.java.mainclass=org.tanukisoftware.wrapper. xyz
wrapper.java.classpath.2=../../jdk/lib/*.jar

I�ve tested some examples from the internet.
I do not understand the awk or any other programming language.
Can somebody help me please?

By the way. Sorry for my bad englisch.

THX!!! :confused:

So, are your trying to change the following two?

WrapperSimpleApp to xyz
tools.jar to *.jar

awk -F'[.=]' '$3=="mainclass" {print "#" $0;$NF="xyz"}1' myFile
awk ' /^wrapper\.java\.mainclass/ {
        v = $0;
        print "#"$0;
        sub(/\.[a-zA-Z0-9]*$/,".xyz",v);
        print v;
} /^wrapper\.java\.classpath\.2/ {
        sub(/\/[a-zA-Z0-9]*$/,"*.jar",$0);
        print;
} ' file

yes change the two

wrapper.java.mainclass=org.tanukisoftware.wrapper. WrapperSimpleApp
wrapper.java.classpath.2=../../jdk/lib/tools.jar

and paste one line with and # for a comment.

So that it looks like:

#wrapper.java.mainclass=org.tanukisoftware.wrapper .WrapperSimpleApp
wrapper.java.mainclass=org.tanukisoftware.wrapper. xyz
wrapper.java.classpath.2=../../jdk/lib/*.jar

Thank you very much

or rather:

awk -F. '
   substr($3,1,index($3,"=")-1)=="mainclass" {print "#" $0;$NF="xyz"}
   substr($3,1,index($3,".")-1)=="classpath" {$(NF-1)="*"}
   1
' OFS=. myFile

always invalid char ''' in expression?
whats my mistake?

cmd
gawk -f test.awk test.txt

huh?
Who are you asking and what are you asking?

everybody... :smiley:

i type in a cmd
gawk -f test.awk test.txt

test.awk

awk -F. '
   substr($3,1,index($3,"=")-1)=="mainclass" {print "#" $0;$NF="xyz"}
   substr($3,1,index($3,".")-1)=="classpath" {$(NF-1)="*"}
   1
' OFS=. myFile

test.txt:

wrapper.java.mainclass=org.tanukisoftware.wrapper. WrapperSimpleApp
wrapper.java.classpath.2=../../jdk/lib/tools.jar

---------- Post updated at 09:53 AM ---------- Previous update was at 09:51 AM ----------

and this is the output:
invalid char ''' in expression

sorry for my stupid questions..

gawk -F. -f test.awk OFS=. myFile

test.awk:

   substr($3,1,index($3,"=")-1)=="mainclass" {print "#" $0;$NF="xyz"}
   substr($3,1,index($3,".")-1)=="classpath" {$(NF-1)="*"}    
   1

ahh.. ok. but if i try this the changed code is only shown in the cmd, but not in the text file.

:b:

gawk -F. -f test.awk OFS=. myFile > myNewFile

thanks you very much.
I am not worthy

---------- Post updated 02-14-13 at 05:24 AM ---------- Previous update was 02-13-13 at 10:05 AM ----------

sorry, me again.

second one doesn�t work.
Can you explaine me this?

this is what i get:

#wrapper.java.mainclass=org.tanukisoftware.wrapper. WrapperSimpleApp
wrapper.java.mainclass=org.tanukisoftware.wrapper.xyz
wrapper.java.classpath.2=../../jdk/lib/tools.jar

---------- Post updated at 06:29 AM ---------- Previous update was at 05:24 AM ----------

HELP please, i am :confused:

---------- Post updated at 07:03 AM ---------- Previous update was at 06:29 AM ----------

its ok.. it works now�! :b: