On Sunday 27 June 2004 07:49, antenneX wrote: > ----- Original Message ----- > From: "Giorgos Keramidas" <[EMAIL PROTECTED]> > To: "antenneX" <[EMAIL PROTECTED]> > Cc: <[EMAIL PROTECTED]> > Sent: Saturday, June 26, 2004 1:40 PM > Subject: Re: A SED script > > > On 2004-06-26 12:08, antenneX <[EMAIL PROTECTED]> wrote: > > > I cannot get it to work on another file (perl.pl file) to change the > > line: > > > $OrderNumPrefix = "ATX060"; to $OrderNumPrefix = "ATX070"; > > > > > > I suspect I'm not handling the quotes or other operators correctly > > and it > > > > just ignores the change. > > > > > > Here's the snippet of the script I'm trying to use: > > > #!/bin/sh > > > new=`grep -i new /path/to/newfile` > > > old=`grep -i new /path/to/oldfile`
It would seem that the variables new and old will both be set to something containing 'new' (perhaps not in lower case). How does this relate to "ATX060" and "ATX070"? > > > sed -i.bak -e "s/$old/$new/" /path/to/myfile > > > > The results depend heavily on the existence and contents of the two > > files > > > named /path/to/{old,new}file. I'm sure if you change the sed line to: > > > > sed -i.bak -e 's/ATX060/ATX070/' /path/to/myfile > > > > it will all work fine. > > Indeed, this works fine. The old/new files are needed to set the > varibles to hold the new number for the next time as this is run via > cron. > You've still not shown us the relevant lines of /path/to/newfile or /path/to/oldfile > old = ATX060 > new = ATX070 What are these? The contents of /path/to/{new,old}file? If so sed will be looking to change the string "old = ATX060" to "new = ATX070". Or do the files simply consist of ATX060 and ATX070 ? If so then grep is not the right command to load the variables old and new. Try: new=`cat /path/to/newfile` old=`cat /path/to/oldfile` Malcolm > > ....then, after the script changes the line in the perl script, it needs > to pipe (echo/cat) in the new file contents to the old: > cat newfile > oldfile ---> which is now ATX070 for oldfile > ...then incremement the newfile to become "ATX080" and so on.... > > Now, got to figure out how to increment number up. It is an invoice > prefix number that contains the month # and must modify the perl file > that is part of a custom order set of scripts..... > > _______________________________________________ > [EMAIL PROTECTED] mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-questions > To unsubscribe, send any mail to > "[EMAIL PROTECTED]" _______________________________________________ [EMAIL PROTECTED] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "[EMAIL PROTECTED]"