Re: adding lines

  • From: "Radoulov, Dimitre" <cichomitiko@xxxxxxxxx>
  • To: Noor.Mulla@xxxxxx
  • Date: Wed, 16 Dec 2009 12:42:18 +0100

On 16/12/2009 12.16, Noor Mulla wrote:

Anyone in the position to convert below script which is using *sed* to a script using *awk*. Basically, we are adding *unrecoverable, path ddumps/../../dataciti_master *and* append* to existing ctl files. This is very urgent.

for FILE in `ls -1 *.test`

[...]


I believe this is off-topic here ...
Anyway (backup your data before running the script, or just change /mv /to /cp/):

awk 'END { close(fn); system("mv " fn " " ofn) }
FNR == 1 {
  if (fn) { close(fn); system("mv " fn " " ofn) }
  print "unrecoverable" > (fn = FILENAME "__new")
  ofn = FILENAME
  }
{
  sub(/infile \47/, "&/DDUMPS/sybase_dump/out/DATACITI_MASTER/Oracle/")
  /into table/ && $0 = "append " $0; print > fn
  }' *.ctl


Use /gawk/, /nawk /or/ /usr/xpg4/bin/awk/ on /Solaris/.
Do not use //usr/bin/awk/ on /Solaris /:)

The /Perl /version would be shorter, but you want /AWK /:)


Regards
Dimitre

Other related posts: