Help me pls : splitting single file in unix into different files based on data


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Help me pls : splitting single file in unix into different files based on data
# 29  
Old 10-09-2012
Quote:
Originally Posted by Ravindra Swan
so can we make 'Abi initio' also as another searching criteria
yeah that's good...Smilie

just add this..

Code:
awk -F "\\\.mdc\||\\\.mpc\||\\\.mp\|" 'NF > 1 && /Abi initio/{n=split($1,a,"\\");print a[n]}' file


Last edited by pamu; 10-09-2012 at 03:20 AM..
# 30  
Old 10-09-2012
Not resolved

I tried this
Code:
awk -F "\\\.mdc\||\\\.mpc\||\\\.mp\|" 'NF > 1 && /Abi initio/{n=split($1,a,"\\");print a[n]}' temp1.txt

It is giving warning as below and no output.in the sense it's not printing the file names.
Code:
awk: warning: escape sequence `\|' treated as plain `|'


Last edited by Scott; 10-09-2012 at 05:10 AM.. Reason: CODE tags not QUOTE tags for CODE
# 31  
Old 10-09-2012
Quote:
Originally Posted by Ravindra Swan
I tried this

It is giving warning as below and no output.in the sense it's not printing the file names.
these are just warnings...

verify below highligted one with your file is this same or not..? May be some uppercase or lower case change.. trySmilie

In your previous given inputs it is "Ab Initio". Please check...

Code:
awk -F "\\\.mdc\||\\\.mpc\||\\\.mp\|" 'NF > 1 && /Abi initio/{n=split($1,a,"\\");print a[n]}' temp1.txt


Last edited by pamu; 10-09-2012 at 04:29 AM..
# 32  
Old 10-09-2012
Please include numbering to the file names

Thanks yaar ,
I am getting names but the numbering to the files......
I mean
Join1
Input2....

Pls include this part also to this code:
Code:
 
 
awk -F "\\\.mdc\||\\\.mpc\||\\\.mp\|" 'NF > 1 && /Ab Initio/{n=split($1,a,"\\");print a[n]}' temp1.txt

I am testing with some other files, If every thing is correct Smilie
Thanks a lot
# 33  
Old 10-09-2012
use this..


Code:
awk -F "\\\.mdc\||\\\.mpc\||\\\.mp\|" '{if($0~/Layout\|\$\[\[recor/){s=$0;}
else if(NF > 1 && $0 ~ /Ab Initio/){n=split($1,a,"\\");x++;fn=a[n]x;{print s > fn ;s="";print > fn}}
else if(s){s=s"\n"$0}
else{if(fn){print > fn}}}' file

Now it should work..

sorry for one mistakeSmilie

Last edited by pamu; 10-09-2012 at 06:34 AM.. Reason: corrected..
# 34  
Old 10-09-2012
Not clear to me:

Code:
 
awk -F "\\\.mdc\||\\\.mpc\||\\\.mp\|" 'NF > 1 && /Ab Initio/{n=split($1,a,"\\");print a[n]}' temp1.txt
awk -F "\\\.mdc\||\\\.mpc\||\\\.mp\|" '{if($0~/Layout\|\$\[\[recor/){s=$0;}
else if(NF > 1 && $0 ~ /program files\\\\Ab Initio/){n=split($1,a,"\\");x++;fn=a[n]x;{print s > fn ;s=""}}
else if(s){s=s"\n"$0}
else{if(fn){print > fn}}}' temp1.txt

Should i use as mentioned above??? I dont think so .
even

Code:
 
awk -F "\\\.mdc\||\\\.mpc\||\\\.mp\|" '{if($0~/Layout\|\$\[\[recor/){s=$0;}
else if(NF > 1 && $0 ~ /program files\\\\Ab Initio/){n=split($1,a,"\\");x++;fn=a[n]x;{print s > fn ;s=""}}
else if(s){s=s"\n"$0}
else{if(fn){print > fn}}}' temp1.txt

This is not giving required.
Please solve this .
Thanks alot in advance
# 35  
Old 10-09-2012
edited in previous post..

Just use that script as whole don't add any extra code to it...Smilie

If still not working attach one input file to it. Smilie

Last edited by pamu; 10-09-2012 at 06:29 AM..
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

In PErl script: need to read the data one file and generate multiple files based on the data

We have the data looks like below in a log file. I want to generat files based on the string between two hash(#) symbol like below Source: #ext1#test1.tale2 drop #ext1#test11.tale21 drop #ext1#test123.tale21 drop #ext2#test1.tale21 drop #ext2#test12.tale21 drop #ext3#test11.tale21 drop... (5 Replies)
Discussion started by: Sanjeev G
5 Replies

2. Shell Programming and Scripting

Split a single file into multiple files based on a value.

Hi All, I have the sales_data.csv file in the directory as below. SDDCCR; SOM ; MD6546474777 ;05-JAN-16 ABC ; KIRAN ; CB789 ;04-JAN-16 ABC ; RAMANA; KS566767477747 ;06-JAN-16 ABC ; KAMESH; A33535335 ;04-JAN-16 SDDCCR; DINESH; GD6674474747 ;08-JAN-16... (4 Replies)
Discussion started by: ROCK_PLSQL
4 Replies

3. Shell Programming and Scripting

Splitting a single file to multiple files

Hi Friends , Please guide me with the code to extract multiple files from one file . The File Looks like ( Suppose a file has 2 tables list ,column length may vary ) H..- > File Header.... H....- >Table 1 Header.... D....- > Table 1 Data.... T....- >Table 1 Trailer.... H..-> Table 2... (1 Reply)
Discussion started by: AspiringD
1 Replies

4. UNIX for Dummies Questions & Answers

Extracting data from one file, based on another file (splitting)

Dear All, I have two files but want to extract data from one based on another... can you please help me file 1 David Tom Ellen and file 2 David|0010|testnamez|resultsz David|0004|testnamex|resultsx Tom|0010|testnamez|resultsz Tom|0004|testnamex|resultsx Ellen|0010|testnamez|resultsz... (12 Replies)
Discussion started by: A-V
12 Replies

5. Shell Programming and Scripting

Sed: Splitting A large File into smaller files based on recursive Regular Expression match

I will simplify the explaination a bit, I need to parse through a 87m file - I have a single text file in the form of : <NAME>house........ SOMETEXT SOMETEXT SOMETEXT . . . . </script> MORETEXT MORETEXT . . . (6 Replies)
Discussion started by: sumguy
6 Replies

6. Shell Programming and Scripting

Urgent ...pls Sorting files based on timestamp and picking the latest file

Hi Friends, Newbie to shell scripting. Currently i have used the below to sort data based on filenames and datestamp $ printf '%s\n' *.dat* | sort -t. -k3,4 filename_1.dat.20120430.Z filename_2.dat.20120430.Z filename_3.dat.20120430.Z filename_1.dat.20120501.Z filename_2.dat.20120501.Z... (1 Reply)
Discussion started by: robertbrown624
1 Replies

7. Shell Programming and Scripting

Splitting single file into n files

Hi all, I am new to scripting and I have a requirement we have source file as HEADER 01.10.2010 14:32:37 NAYA TA0022 TA0000 20000001;20060612;99991231;K4;02;3 20000008;20080624;99991231;K4;02;3 20000026;19840724;99991231;KK;01;3 20000027;19840724;99991231;KK;01;3... (6 Replies)
Discussion started by: srk409
6 Replies

8. Shell Programming and Scripting

Data Splitting into two files from one file

I have a file as: I/P File: Ground Car 2009 Lib 2008 Lib 2003 Ground Car 2009 Ground Car 2003 Car 2005 Car 2003 Car 2005 Sita 2900 2006 Car 2007 I have to split the file into two: - one for names and second for years. O/p1 (Names): Ground Car (3 Replies)
Discussion started by: karumudi7
3 Replies

9. Shell Programming and Scripting

Splitting large file into multiple files in unix based on pattern

I need to write a shell script for below scenario My input file has data in format: qwerty0101TWE 12345 01022005 01022005 datainala alanfernanded 26 qwerty0101mXZ 12349 01022005 06022008 datainalb johngalilo 28 qwerty0101TWE 12342 01022005 07022009 datainalc hitalbert 43 qwerty0101CFG 12345... (19 Replies)
Discussion started by: jimmy12
19 Replies

10. Shell Programming and Scripting

splitting files based on text in the file

I need to split a file based on certain context inside the file. Is there a unix command that can do this? I have looked into split and csplit but it does not seem like those would work because I need to split this file based on certain text. The file has multiple records and I need to split this... (1 Reply)
Discussion started by: matrix1067
1 Replies
Login or Register to Ask a Question