Re: Re:adding lines

From: Waldirio Manhães Pinheiro <waldirio_at_gmail.com>
Date: Mon, 14 Dec 2009 11:37:33 -0200
Message-ID: <7df9f1820912140537va3e6e0cs854197bf2e907930_at_mail.gmail.com>



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_at_oneteam.no>:
> 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_at_libero.it]
>> 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
>
>
> --
> http://www.freelists.org/webpage/oracle-l
>
>
>

-- 
______________
Atenciosamente
Waldirio
msn: waldirio_at_gmail.com
Site: www.waldirio.com.br
Blog: blog.waldirio.com.br
PGP: www.waldirio.com.br/public.html
--
http://www.freelists.org/webpage/oracle-l
Received on Mon Dec 14 2009 - 07:37:33 CST

Original text of this message