Re: Re:adding lines

  • From: Waldirio Manhães Pinheiro <waldirio@xxxxxxxxx>
  • To: oracle-l <oracle-l@xxxxxxxxxxxxx>
  • Date: Mon, 14 Dec 2009 11:37:33 -0200

Friends / Noor

Follow the code to alter files, according with sample sent before.

Ps.: The files should be in sample directory (in this sample), and a
new file will be generate with all modifications.

Ps2.: You can use "sed -i" to alter file on the fly, but doesn't work
in Solaris (your case).

Cheers
Waldirio

#####
#!/bin/bash

BASE="sample"

for b in $(ls -1 $BASE)
do
  sed -e '1i UNRECOVERABLE' -e "s/^infile '/infile
'\/DDUMPS\/sybase_dump\/out\/DATACITI_MASTER\/Oracle\//g" -e
"s/^into/append into/g" $BASE/$b >$BASE/$b.new
done
#####


2009/12/14 Kjetil Strønen <kjetil@xxxxxxxxxx>:
> On Mon, 2009-12-14 at 17:34 +0530, Noor Mulla wrote:
>> Alessandro,
>>
>> Thanks...
>>
>> In your_file_list I have to list all the ctl files seperated by comma.
>> How to run this…
>
>
>> How to add the other caluse as in the trailing mail(bold/red).
>
>
> Taking a sed-approach, I'd do:
> ----
> for FILE in `ls -1 *.ctl`
> do
>  mv ${FILE} ${FILE}.bkp_`date +%Y%m%d`;
>  cat ${FILE}.bkp_`date +%Y%m%d` | \
>   sed -e "s/^load\ data/unrecoverable\nload\ data/g" \
>       -e "s/^infile\ '/infile\ '\/new\/full\/path\//g" \
>       -e "s/^into\ table/append\ into\ table/g"  > ${FILE};
> done
> ----
>
> --Kjetil
>
>
>> -----Original Message-----
>> From: Alessandro Vercelli [mailto:alever@xxxxxxxxx]
>> Sent: Monday, December 14, 2009 5:21 PM
>> Subject: Re:adding lines
>>
>> Hi Noor,
>>
>> awk should be the best tool for the job, but I don't know it much so
>> the following bash could work for your needs:
>>
>> for FILE in "<your_file_list>"
>> do
>>     vi -c "1,\$s#infile '#infile
>> '/DDUMPS/sybase_dump/out/DATACITI_MASTER/Oracle/#g|wq" $FILE
>> done
>>
>> The instruction between "do" and "done" must be on a single line.
>>
>> Make a safety copy of your scripts before doing.
>>
>> Hope it helps,
>>
>> Alessandro
>>
>> >Hi All,
>> >
>> >By using awk or any unix commands, can we change all ctl files .We
>> have 25 such files which is subject to change.
>> >
>> >
>> >load data
>> >infile 'DATACITI_MASTER.dbo.aspc_defaultdb.dat' "str '<EORD>'"
>> >into table DATACITI_MASTER.aspc_defaultdb
>> >fields terminated by '<EOFD>'
>> >trailing nullcols
>> >(
>> >virtualid ,
>> >host CHAR(255)
>> >)
>> >to
>> >
>> >We need to change it to below by adding data in bold(red) to all
>> existing ctl files.
>> >
>> >UNRECOVERABLE
>> >load data
>> >infile
>> '/DDUMPS/sybase_dump/out/DATACITI_MASTER/Oracle/DATACITI_MASTER.dbo.aspc_defaultdb.dat'
>>  "str '<EORD>'"
>> > append into table DATACITI_MASTER.aspc_defaultdb
>> >fields terminated by '<EOFD>'
>> >trailing nullcols
>> >(
>> >virtualid ,
>> >host CHAR(255)
>> >)
>> >
>> >
>> >Please provide me the solution asap.
>> >
>> >Thanks & Regards
>> >Noor
>
>
> --
> //www.freelists.org/webpage/oracle-l
>
>
>



-- 
______________
Atenciosamente
Waldirio
msn: waldirio@xxxxxxxxx
Site: www.waldirio.com.br
Blog: blog.waldirio.com.br
PGP: www.waldirio.com.br/public.html
--
//www.freelists.org/webpage/oracle-l


Other related posts: