different files for different values


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting different files for different values
# 1  
Old 01-13-2009
different files for different values

Hi

I am writng a script to spool some account nos information to .txt file but wants that information for each and every account no to be written in a different .txt file with account no as part of the file name of its associated file.

Thanks
# 2  
Old 01-13-2009
Hi ss_ss,

What are the other contents of the file (source file)?

You may want to include more details about your problem so that it would be easier for others to help Smilie
# 3  
Old 01-13-2009
Hi,

I've written a query whose output is:


D A/C No Mob NO Elem ID Profile ID

D 44083669 0192652286 10866 1

D 44083455 0192300318 10867 1

Now i want to create 2 files containing 1 row each and their names should be like for 1st row File1_44083669_<YYYYMMDDHHMISS>.txt
and for 2nd row File2_44083455_<YYYYMMDDHHMISS>.txt

And in those files column header should not come.

Thanks
# 4  
Old 01-13-2009
Assuming your source file is tab delimited...

Code:
SRCFILE="srcfile.txt"
COUNT=0
sed '1d' $SRCFILE | while read X; do
        ((COUNT=COUNT+1))
        OUTFILE="file${COUNT}_"`echo "$X" | awk -F"\t" '{ print $2 }'`"_"`date +%Y%m%d%H%M%S`".txt"
        echo "$X" > $OUTFILE
done

Just update the SRCFILE variable. Also, there are other ways you can do this like using cut, sed, etc...So if you want a different solution, you can use those commands also

Smilie
# 5  
Old 01-13-2009
Thnx a lot for ur help
Smilie

But after that also im getting some errors like:

SQL> SQL> SQL> SQL> SP2-0734: unknown command beginning "SRCFILE="T..." - rest of line ignored.
SQL> SP2-0042: unknown command "COUNT=0" - rest of line ignored.
SQL> SP2-0734: unknown command beginning "sed '1d' ..." - rest of line ignored.
SQL> 2 3 4 SQL> SP2-0042: unknown command "done" - rest of line ignored.

I am putting the whole code can you just look into:

#!/bin/sh

sqlplus uname/pwd@dbname <<EOF

set wrap off
set feedback off
set pagesize 0
set verify off
set trimspool on
set linesize 5000

spool /SYSTEM/custom/modules/testing/THS_PROF.txt

select 'D' "D", ciam.external_id "Kenan Account No", ciem.external_id "Mobile MSISDN", p.element_id "Element Id", case
when (p.element_id in (select b.member_id from package_component_members b, package_components c
where member_id in (10867,10866,10866,10867,10868,10866,10866,90014,90021)
and b.member_type=1
and b.component_id in (10459,10458,10658,20105,10499,10647,10810,90014,90022)
and c.component_id=b.component_id)) then '1'
else '200'
end "Ths Profile Id"
from customer_id_acct_map ciam, customer_id_equip_map ciem, product p, cmf c, dual
where ciam.account_no(+)=p.billing_account_no
and ciem.subscr_no=p.parent_subscr_no
and p.billing_account_no=c.account_no
and c.account_no=ciam.account_no
and c.bill_period='G24'
and ciem.external_id_type=1
and ciam.external_id_type=1
and ciem.external_id_type=ciam.external_id_type
and p.element_id in (select b.member_id from package_component_members b, package_components c
where member_id in (10867,10866,10866,10867,10868,10866,10866,90014,90021)
and b.member_type=1
and b.component_id in (10459,10458,10658,20105,10499,10647,10810,90014,90022)
and c.component_id=b.component_id);

spool off;

SRCFILE="THS_PROF.txt"
COUNT=0
sed '1d' $SRCFILE | while read X; do
((COUNT=COUNT+1))
OUTFILE="file${COUNT}_"`echo "$X" | awk -F"\t" '{ print $2 }'`"_"`date +%Y%m%d%H%M%S`".txt"
echo "$X" > $OUTFILE
done

quit

EOF
# 6  
Old 01-13-2009
Hi ss,

I wasn't aware that you'll be using it with sqlplus. Try inserting the script after the 'EOF' token.

The whole script will look like this:

Code:
sqlplus uname/pwd@dbname << EOF

set wrap off
set feedback off
set pagesize 0
set verify off
set trimspool on
set linesize 5000

spool /SYSTEM/custom/modules/testing/THS_PROF.txt

select 'D' "D", ciam.external_id "Kenan Account No", ciem.external_id "Mobile MSISDN", p.element_id "Element Id", case
when (p.element_id in (select b.member_id from package_component_members b, package_components c
where member_id in (10867,10866,10866,10867,10868,10866,10866,90014,90021)
and b.member_type=1
and b.component_id in (10459,10458,10658,20105,10499,10647,10810,90014,90022)
and c.component_id=b.component_id)) then '1'
else '200'
end "Ths Profile Id"
from customer_id_acct_map ciam, customer_id_equip_map ciem, product p, cmf c, dual
where ciam.account_no(+)=p.billing_account_no
and ciem.subscr_no=p.parent_subscr_no
and p.billing_account_no=c.account_no
and c.account_no=ciam.account_no
and c.bill_period='G24'
and ciem.external_id_type=1
and ciam.external_id_type=1
and ciem.external_id_type=ciam.external_id_type
and p.element_id in (select b.member_id from package_component_members b, package_components c
where member_id in (10867,10866,10866,10867,10868,10866,10866,90014,90021)
and b.member_type=1
and b.component_id in (10459,10458,10658,20105,10499,10647,10810,90014,90022)
and c.component_id=b.component_id);

spool off;

done

quit

EOF 

SRCFILE="THS_PROF.txt"
COUNT=0
sed '1d' $SRCFILE | while read X; do
((COUNT=COUNT+1))
OUTFILE="file${COUNT}_"`echo "$X" | awk -F"\t" '{ print $2 }'`"_"`date +%Y%m%d%H%M%S`".txt"
echo "$X" > $OUTFILE

Another solution would be to use a t-sql looping inside the sql segment of the code but you'll have to redefine your output for each loop. But I'm not much familiar with oracle (or is it not oracle?) Smilie

Try the modified one Smilie
# 7  
Old 01-13-2009
Thanx it worked just done needs to be put at the end.

But need to ask you 1 more thing that is, as i metioned if the output of the query is 3 rows then i want 3 different files with a\c no in the name of the file for each of them containing their respective values.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Replace Stub Values In One Group Of Files With Actual Values From Another Group Of Files

I have two directories of files (new-config-files and old-config-files): new-config-files/this-db/config.inc.php new-config-files/that-db/config.inc.php new-config-files/old-db/config.inc.php new-config-files/new-db/config.inc.php new-config-files/random-database/config.inc.php etc. ... (4 Replies)
Discussion started by: spacegoose
4 Replies

2. Shell Programming and Scripting

Interpolation of two values in two different files

Dear All, I have two files which contain numerical data and strings. I want to create a new file that only revise numerical data from two files using interpolation. I guess AWK works, but I am new on AWK. FileA.txt . . index_2("0.1, 1, 2, 4, 8, 16, 32"); values("0.0330208, 0.0345557,... (17 Replies)
Discussion started by: jypark22
17 Replies

3. Shell Programming and Scripting

Comparing the values of two files

Hi Am trying to compare the values of two files.. One is a big file that has many values and the other is a small file.. The big file has all values present in small file.. # cat SmallFile 4456602 22347881 7471282 15859891 8257690 21954701 7078068 18219229 2883826 6094959 100000 ... (3 Replies)
Discussion started by: Priya Amaresh
3 Replies

4. Shell Programming and Scripting

Query the table and return values to shell script and search result values from another files.

Hi, I need a shell script, which would search the result values from another files. 1)execute " select column1 from table_name" query on the table. 2)Based on the result, need to be grep from .wft files. could please explain about this.Below is the way i am using. #!/bin/sh... (4 Replies)
Discussion started by: Rami Reddy
4 Replies

5. Shell Programming and Scripting

Value falls between two values from different files

Hi, I have two files cat 1 100 1 110 2 113 4 230 5 334 7 500 8 900 10 I have another file cat 2 100 200 201 300 301 400 401 500 501 600 601 700 (3 Replies)
Discussion started by: jacobs.smith
3 Replies

6. Shell Programming and Scripting

Summarize the values from files

One of my process will create a file Market.txt with data like below. Count Markt file 334936 /pdm/data001/P3_Quest_5HT_AMERGE.csv 2770787 /pdm/data001/P3_Quest_ARB_ATACAND.csv 1198143 /pdm/data001/P3_Quest_Bisp_ACTONEL.csv 3821864 /pdm/data001/P3_Quest_CONTRA_ALL_OTHER_CONTRA.csv... (7 Replies)
Discussion started by: katakamvivek
7 Replies

7. Shell Programming and Scripting

Compare values in two files. For matching rows print corresponding values from File 1 in File2.

- I have two files (File 1 and File 2) and the contents of the files are mentioned below. - I am trying to compare the values of Column1 of File1 with Column1 of File2. If a match is found, print the corresponding value from Column2 of File1 in Column5 of File2. - I tried to modify and use... (10 Replies)
Discussion started by: Santoshbn
10 Replies

8. Shell Programming and Scripting

match 2 files by values

Hello ALL, Hope all fine for you. I have the following task but no idea about how to do. I have 2 files (ascii) one of them is a list of bib records, looks like this: =LDR 01228nam 2200301 b 4500 =001 00000000000001 =005 20090429:10082000 =008 ... (2 Replies)
Discussion started by: ldiaz2106
2 Replies

9. Shell Programming and Scripting

Cat Values from Several files if it meets criteria for column values

I have results from some statistical analyses. The format of the results are as given below: I want to select lines that have a p-value (last column) less than 0.05 from all the results files (*.results) and cat to a new results file. It would be very nice if a new column is added that tells... (2 Replies)
Discussion started by: genehunter
2 Replies

10. Shell Programming and Scripting

how to sum values from 2 different files?

Hi I am trying to add count values from two different files into one file. Could any body please suggest me best command to do this? My problem was as follows: a.txt b.txt c.txt 10 20 30(needed) i tried cat a.txt b.txt > c.txt (its not adding the values) Thanks in advance.. Praveen (8 Replies)
Discussion started by: npk2210
8 Replies
Login or Register to Ask a Question