Search between two strings for multiple occurances


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Search between two strings for multiple occurances
# 1  
Old 05-11-2016
Search between two strings for multiple occurances

i search between two strings viz <app-deployment> & </app-deployment> and save the contents in a new file using the code snippet below.

Code:
sed -n "/<app-deployment/,/<\/app-deployment>/p" deploy.tmp >found1.tmp

But if the search string apprears more than once in the file then how can i store the text between each occurance in a seperate file ?

Quote:
more deploy.tmp
<app-deployment>
<name>cert</name>
<target>CS1</target>
<module-type>war</module-type>
</app-deployment>
<app-deployment>
<name>Security</name>
<target>CS2</target>
<module-type>ear</module-type>
</app-deployment>
Thus, i need the below to go in found1.tmp
Quote:
<app-deployment>
<name>cert</name>
<target>CS1</target>
<module-type>war</module-type>
</app-deployment>
and the below to go in found2.tmp

Quote:
<app-deployment>
<name>cert</name>
<target>CS1</target>
<module-type>war</module-type>
</app-deployment>
# 2  
Old 05-11-2016
Hello mohtashims,

Could you please try following and let me know if this helps.
Code:
awk '/<app-deployment>/{A=1;++i} A{;print >> "found"i".tmp"}'  Input_file

Output files will be as follows.
Code:
cat found2.tmp
<app-deployment>
<name>Security</name>
<target>CS2</target>
<module-type>ear</module-type>
</app-deployment>
  
cat found1.tmp
<app-deployment>
<name>cert</name>
<target>CS1</target>
<module-type>war</module-type>
</app-deployment>

Thanks,
R. Singh
# 3  
Old 05-11-2016
Quote:
Originally Posted by RavinderSingh13
Hello mohtashims,

Could you please try following and let me know if this helps.
Code:
awk '/<app-deployment>/{A=1;++i} A{;print >> "found"i".tmp"}'  Input_file

Output files will be as follows.
Code:
cat found2.tmp
<app-deployment>
<name>Security</name>
<target>CS2</target>
<module-type>ear</module-type>
</app-deployment>
  
cat found1.tmp
<app-deployment>
<name>cert</name>
<target>CS1</target>
<module-type>war</module-type>
</app-deployment>

Thanks,
R. Singh
I dont think u r searching between two strings but looking for only one string. Note the contents of deploy.tmp may change.
# 4  
Old 05-11-2016
Hello mohtashims,

I was editing that post, following is the code where I am looking for both the strings, let me know how it goes then.
Code:
awk '/<app-deployment>/{A=1;++i} /<\/app-deployment>/{print >> "found"i".tmp";A=0} A{;print >> "found"i".tmp"}'  Input_file

Thanks,
R. Singh
This User Gave Thanks to RavinderSingh13 For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Grep for text between twp strings for multiple occurances.

I need to get text between two strings <app-deployment file=" and </app-deployment> as it appears more than once in the file then how can i store the text between each occurrence in a separate file ? Thus, i need the below to go in found1.tmp and the below to go in found2.tmp ... (8 Replies)
Discussion started by: mohtashims
8 Replies

2. Shell Programming and Scripting

Multiple search strings replaced with single string

Hi, I need someone's help in writing correct perl code. I implemented following code for "multiple search strings replaced with single string". ========================================================= #!/usr/bin/perl my $searchStr = 'register_inst\.write_t\(' |... (2 Replies)
Discussion started by: chettyravi
2 Replies

3. Shell Programming and Scripting

Whether we can search multiple strings using or in grep -F

Hi, Whether we can search multiple strings using or in grep -F In Generally, grep -F "string1" "filename.txt" How to search for multiple string using grep -F as we using grep grep "string1\|string2" "filename.txt" Regards, Nanthagopal A (10 Replies)
Discussion started by: nanthagopal
10 Replies

4. Shell Programming and Scripting

Search & Replace: Multiple Strings / Multiple Files

I have a list of files all over a file system e.g. /home/1/foo/bar.x /www/sites/moose/foo.txtI'm looking for strings in these files and want to replace each occurrence with a replacement string, e.g. if I find: '#@!^\&@ in any of the files I want to replace it with: 655#@11, etc. There... (2 Replies)
Discussion started by: spacegoose
2 Replies

5. Shell Programming and Scripting

Search multiple Strings in a File

Hi I want to search multiple strings in a file . But the search should start with "From" Keyword and end with before "Where" keyword. Please suggest me. Thanks (2 Replies)
Discussion started by: sboss
2 Replies

6. Shell Programming and Scripting

Search multiple strings on a file and copy the string next to it

I tried awk for this, but failed <or my code is not correct? I dont know>. Can anyone help me on this? ---------- Post updated at 08:34 PM ---------- Previous update was at 08:29 PM ---------- my working file looks like this: <empty> <empty> <empty> NAME :ABC AGE :15 GENDER... (6 Replies)
Discussion started by: kingpeejay
6 Replies

7. Shell Programming and Scripting

Search for multiple strings in specific position

Hi, I need to search for some strings in specific positions in a file. If the strings: "foo1", "foo2" or "foo3" is on position 266 or position 288 in a file i want the whole line printed. Any idea how to do it? (5 Replies)
Discussion started by: HugoH
5 Replies

8. UNIX for Dummies Questions & Answers

Search for multiple strings and mail accordingly

Hi, I need to find if there is any error in the last few lines of the log file and send a mail accordingly.For example, Following errors can be logged in the log file. ERR_1="DB Connection not established" ERR_2="Server Unloading" I need to find if these errors are found in the log file and... (3 Replies)
Discussion started by: AnneAnne
3 Replies

9. Shell Programming and Scripting

How to search multiple strings in a file

Hi All, I want to search all the ksh scripts that has following details. 1. Search for "exit 0" 2. Search for "sqlldr" or sqlplus" 3. In the above files i want to search for all the script that has no "case" in it. Please advice. Thanks, Deep (2 Replies)
Discussion started by: deepakpv
2 Replies

10. Shell Programming and Scripting

Problem to search multiple strings

Hi all, I am search a string from a file using following command, I want to pick the message ( I.e print $5) from the lookup file if and only if both $hostname and $instancename match. Message=`cat $lookup_tbl| awk '/'$category'/ {if ('$hostname' == '$2' || '$instancename' == '$3') print $5}'`... (2 Replies)
Discussion started by: sudhish
2 Replies
Login or Register to Ask a Question