Grep specific records from a file of records that are separated by an empty line


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Grep specific records from a file of records that are separated by an empty line
# 1  
Old 12-13-2010
Grep specific records from a file of records that are separated by an empty line

Hi everyone.

I am a newbie to Linux stuff. I have this kind of problem which couldn't solve alone. I have a text file with records separated by empty lines like this:
Code:
ID: 20
Name: X
Age: 19

ID: 21
Name: Z

ID: 22
Email: xxx@yahoo.com
Name: Y
Age: 19

I want to grep records that have both 'Email' and 'Age' like in the last one and put that record in another file. How to do that?

Thanks in advance
Atrisa

Last edited by radoulov; 12-13-2010 at 11:33 AM.. Reason: Added code tags.
# 2  
Old 12-13-2010
Code:
awk > outfile '
  /Email: xxx@yahoo.com/ && /Age: 19/
  ' ORS='\n\n' RS= infile

# 3  
Old 12-14-2010
Thanks radoulov. For some reason I had to do small changes for it to work. You probably know the reasonSmilie

Code:
 awk > ouput.txt '/Age:/ && /Email:/' RS='\n\n' input.txt

If I want to put only the entries Email and Age in the output file from the desired record, how do I do that? I know 'print' command can do this, but my syntax always goes wrong.

Thanks again,
Atrisa
# 4  
Old 12-14-2010
Well, it's quite easy and only grep will be sufficient, but are you really sure that you want this? A separate file with several occurrences of the same records?
# 5  
Old 12-14-2010
Thanks a lot. How come I didn't think of that! Then ignore my last questionSmilie. Thanks again.
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Separate records of a file on 2 types of records

Hi I am new to shell programming in unix Please if I can provide help. I have a file structure of a header record and "N" detail records. The header record will be the total number of detail records I need to split the file in 2: One for the header Another for all detail records Could... (1 Reply)
Discussion started by: jamcogar
1 Replies

2. Shell Programming and Scripting

Shell for displaying specific records from a line.

Input file. GMDCOM.27936 : Process Request <36812974> GMDCOM.27936 : Process Request <36812985> GMDCOM.27936 : Process Request <36812986> GMDCOM.27936 : Process Request <36812987> GMDCOM.27936 : Process Request <36812996> GMDCOM.27936 : Process Request <36812998> GMDCOM.27936 : Process... (14 Replies)
Discussion started by: ghosh_tanmoy
14 Replies

3. Shell Programming and Scripting

How to grep an empty line in a specific column of a file?

Suppose i have the following data : cat file.txt 12431,123334,55353,546646,14342234,4646,35234 123123,3535,123434,132535,1234134,13535,123534 123213,545465,23434,45646,2342345,4656,31243 2355425,2134324,53425,342,35235,23434,234535 3423424,234234,65465,,2344,35436,234524,234... (7 Replies)
Discussion started by: Ravi Tej
7 Replies

4. Shell Programming and Scripting

Remove empty records

Hello: Is there a simple way to remove empty records of FASTA format file? A FASTA format consists of two parts: header and sequence (for non-biologist, Wiki for details of course!). The header always start with ">" for the name of the sequence. The header must be in this ONLY single line.... (9 Replies)
Discussion started by: yifangt
9 Replies

5. Shell Programming and Scripting

Deleting duplicate records from file 1 if records from file 2 match

I have 2 files "File 1" is delimited by ";" and "File 2" is delimited by "|". File 1 below (3 record shown): Doc1;03/01/2012;New York;6 Main Street;Mr. Smith 1;Mr. Jones Doc2;03/01/2012;Syracuse;876 Broadway;John Davis;Barbara Lull Doc3;03/01/2012;Buffalo;779 Old Windy Road;Charles... (2 Replies)
Discussion started by: vestport
2 Replies

6. Shell Programming and Scripting

Grep records out of file

Hi, I have a file where there "Tab" seperated values are present.I need to identify duplicate entries based on column 1 & 6 only . For e.g : I tried using uniq ..but the output is only having one duplicate entry, instead of both the entries.I need both the above entries . uniq -f5... (2 Replies)
Discussion started by: appu2176
2 Replies

7. UNIX for Dummies Questions & Answers

Cut specific fields from a file containing multiline records

Hi, I am looking for a method to get column13 to column 50 data from the 1st line of a multiline reord. The records are stored in a large file and are separated by newline. sample format is (data in red is to be extracted) <header> A001dfhskhfkdsh hajfhksdhfjh... (3 Replies)
Discussion started by: sunayana3112
3 Replies

8. Shell Programming and Scripting

Count No of Records in File without counting Header and Trailer Records

I have a flat file and need to count no of records in the file less the header and the trailer record. I would appreciate any and all asistance Thanks Hadi Lalani (2 Replies)
Discussion started by: guiguy
2 Replies

9. Shell Programming and Scripting

cut specific records from a file

I am trying to cut the first 10 characters from a file only if the file has 'xyz' in field 185-188. I tried this cat filename | cut -c1-10 but this gives me all the records regardless of what is in field 185-188. Is this doable ? Thanks in advance for responses. (2 Replies)
Discussion started by: jxh461
2 Replies

10. Shell Programming and Scripting

Extarct specific records from wide file

I have a file which is 5 million records. And each records has 412 fields has delimited by "|". So that makes each records to be 2923 bytes long. I wanted to extract specific records like top 100 or 2500 - 5000, 50001 - 10000 etc. from this file. I tried using head command for top 100 records,... (1 Reply)
Discussion started by: acheepi
1 Replies
Login or Register to Ask a Question

Featured Tech Videos