Extract multiple repeated data from a text file


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Extract multiple repeated data from a text file
# 1  
Old 04-13-2009
Extract multiple repeated data from a text file

Hi,

I need to extract data from a text file in which data has a pattern. I need to extract all repeated pattern and then save it to different files.
example:

input is:
Code:
ST*867*000352214
BPT*00*1000352214*090311
SE*1*1

ST*867*000352215
BPT*00*1000352214*090311
SE*1*2

ST*867*000352216
BPT*00*1000352214*090311
SE*1*3

output is like:

first file:
Code:
ST*867*000352214
BPT*00*1000352214*090311
SE*1*1

second file:
Code:
ST*867*000352215
BPT*00*1000352214*090311
SE*1*2

Third File:
Code:
ST*867*000352216
BPT*00*1000352214*090311
SE*1*3

You see , output is splitted into three different files based on ST-SE segment repeated in the file.

Can anybody please help me to put me close to solution?

Thanks in advance.

Regards,
Neeraj

Last edited by Yogesh Sawant; 04-13-2009 at 08:10 AM.. Reason: added code tags
# 2  
Old 04-13-2009
Try this:

Code:
awk '/^ST/{++i}{print > "file" i}' textfile

Regards
# 3  
Old 04-14-2009
seems perl is a good choice to handle it.

Code:
$/="\n\n";
open $fh,"<","a.txt";
while(<$fh>){
	my $tmp=sprintf("%s.txt",$.);
	open my $fh1,">",$tmp;
	print $fh1 $_;
	close $fh1;
}

# 4  
Old 04-14-2009
Quote:
Originally Posted by Franklin52
Try this:

Code:
awk '/^ST/{++i}{print > "file" i}' textfile

Regards
Please explain your code

Thanks
white
# 5  
Old 04-14-2009
Thanks all of you.I used the above code and it worked perfectly.

Thanks once again.

Regards
Neeraj
# 6  
Old 04-14-2009
Quote:
Originally Posted by Whiteboard
Please explain your code

Thanks
white
Code:
awk '/^ST/{++i}{print > "file" i}' textfile

Code:
/^ST/{++i}

If the line begins with ST increase the variable i. The first time the name of the output file is file1, the next time the line begins with ST the name of the output file becomes file2 and so forth.

Code:
{print > "file" i}

Print the line to the file "file"i.

Regards
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Shell - Read a text file with two words and extract data

hi I made this simple script to extract data and pretty much is a list and would like to extract data of two words separated by commas and I would like to make a new text file that would list these extracted data into a list and each in a new line. Example that worked for me with text file... (5 Replies)
Discussion started by: dandaryll
5 Replies

2. Shell Programming and Scripting

awk used to extract data between text

Hello all, I have a file (filename.txt) with some data (in two columns X and Y) which looks like this: ########## 'Header1' 'Sub-header1' X Y xxxx.xx yyyy.yyy xxxx.xx yyyy.yyy .... ... 'Sub-header2' X Y xxxx.xx ... (7 Replies)
Discussion started by: jaldo0805
7 Replies

3. Shell Programming and Scripting

Extract data in tabular format from multiple files

Hi, I have directory with multiple files from which i need to extract portion of specif lines and insert it in a new file, the new file will contain a separate columns for each file data. Example: I need to extract Value_1 & Value_3 from all files and insert in output file as below: ... (2 Replies)
Discussion started by: belalr
2 Replies

4. UNIX for Dummies Questions & Answers

Extract common data out of multiple files

I am trying to extract common list of Organisms from different files For example I took 3 files and showed expected result. In real I have more than 1000 files. I am aware about the useful use of awk and grep but unaware in depth so need guidance regarding it. I want to use awk/ grep/ cut/... (7 Replies)
Discussion started by: macmath
7 Replies

5. Shell Programming and Scripting

regular expression with shell script to extract data out of a text file

hi i am trying to extract some specific data out of a text file using regular expressions with shell script that is using a multiline grep .. and the tool i am using is pcregrep so that i can get compatibility with perl's regular expressions for a sample data like this, i am trying to grab... (6 Replies)
Discussion started by: vemkiran
6 Replies

6. Shell Programming and Scripting

How to find repeated string in a text file

I have a text file where I need to find the string = ST*850* This string is repetaed several times in the file, so I need to know how many times it appears in the file, this is the text files: ISA*00* *00* *08*925485USNR *ZZ*IMSALADDERSP... (13 Replies)
Discussion started by: cucosss
13 Replies

7. UNIX for Dummies Questions & Answers

AWK, extract data from multiple files

Hi, I'm using AWK to try to extract data from multiple files (*.txt). The script should look for a flag that occurs at a specific position in each file and it should return the data to the right of that flag. I should end up with one line for each file, each containing 3 columns:... (8 Replies)
Discussion started by: Liverpaul09
8 Replies

8. UNIX for Dummies Questions & Answers

Help please, extract multiple lines from a text file

Hi all, I need to extract lines between the lines 'RD' and 'QA' from a text file (following). there are more that one of such pattern in the file and I need to extract all of them. however, the number of lines between them is varied in the file. Therefore, I can not just use 'grep -A' command.... (6 Replies)
Discussion started by: johnshembb
6 Replies

9. Shell Programming and Scripting

Delete repeated word in text file

Hi expert, I am using C shell. And i trying to delete repeated word. Example file.txt: BLUE YELLOW RED VIOLET RED RED BLUE WHITE YELLOW BLACK and i wan store the output into a new file: BLUE (6 Replies)
Discussion started by: vincyoxy
6 Replies

10. Shell Programming and Scripting

How to extract data from a text file

Hello All, Is there an easy way to extract data from a text file? The text file is actually a dump of a 2 page report with 6 columns and 122 lines. Example is Report Tile Type Product 1 Product 2 Product 3 Product 4... (1 Reply)
Discussion started by: negixx
1 Replies
Login or Register to Ask a Question