Sponsored Content
Top Forums Shell Programming and Scripting How to use sed to search a particular pattern in a file backward after a pattern is matched.? Post 302833627 by saurabh kumar on Wednesday 17th of July 2013 01:44:17 PM
Old 07-17-2013
How to use sed to search a particular pattern in a file backward after a pattern is matched.?

Hi,
I have two files file1.txt and file2.txt. Please see the attachments.

In file2.txt (which actually is a diff output between two versions of file1.txt.), I extract the pattern corresponding to 1172c1172. Now ,In file1.txt I have to search for this pattern 1172c1172 and if found, I have to search backward for the path and print the corresponding path (/home/saurabh/file1.txt). Please note that there may be many entries between the path(/home/saurabh/file1.txt) and the line containing the pattern 1172c1172.

file1.txt:
Code:
/home/saurabh/file7.txt
117c117
<          
---
>          

/home/saurabh/file1.txt
76c76
---
79c79
---
1172c1172
<          apple, banana, orange
---
>          apple, banana, mango

/home/saurabh/file7.txt
117c117
<   	silent, helpful       
---
>  	silent

file2.txt:
Code:
2388,2391d2387
< 1172c1172
< <          apple, banana, orange
< ---
< >          apple, banana, mango

Any suggestions will be highly appreciated.

Thanks,
Saurabh

Last edited by Scott; 07-17-2013 at 02:58 PM.. Reason: Removed attachments. It's really not necessary to attach such small files
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

appending with sed based on matched pattern

Hi, I want to know if you can input with sed but instead of specifing a line number like below I wan't to be able to insert based on a specific word or patttern. 10i\ Insert me after line 10 is this possible with sed or should I use AWK? Thanks Jack (2 Replies)
Discussion started by: jack1981
2 Replies

2. Shell Programming and Scripting

SED Search Pattern and Replace with the Pattern

Hello All, I have a string "CP_STATUS OSSRC_R6_0_Shipment_R1H_CU AOM_901046 R1H_LLSV1_2008031", and I just want to extract LLSV1, but I dont get the expected result when using the sed command below. # echo "CP_STATUS OSSRC_R6_0_Shipment_R1H_CU AOM_901046 R1H_LLSV1_2008031" | awk '{print... (4 Replies)
Discussion started by: racbern
4 Replies

3. Shell Programming and Scripting

SED: delete and print the only exact matched pattern

I am really need help with the regular expression in SED. From input file, I need to extract lines that have the port number (sport or dport) as defined. The input file is something like this time=1209515280-1209515340 dst=192.168.133.202 src=208.70.8.23 bytes=2472 proto=6 sport=80 dport=1447... (6 Replies)
Discussion started by: new_buddy
6 Replies

4. Shell Programming and Scripting

search for the matched pattern by tracing back from the line

Hi, I want to grep the line which has 'data11'.then from that line, i need to trace back and find out the immediate line which has the same timestamp of that grepped line. for eg: log file: ----------- Process - data Process - datavalue - 2345 Process - data Process - data Process... (9 Replies)
Discussion started by: Sharmila_P
9 Replies

5. Shell Programming and Scripting

extracting matched pattern from a line using sed

I am trying to pull certain pieces of data out of a line of a file that matches a certain pattern: The three pieces that I want to pull out of this line are the only occurrences of that pattern within the line, but the rest of the line is not consistent in each file. Basically the line is... (3 Replies)
Discussion started by: ellhef
3 Replies

6. Shell Programming and Scripting

Search pattern within file using sed..

Hi, Could someone help me in figuring out a way using which i can search for a specific pattern. Eg. JUSTDOIT..I have to print just the word "DO" from "JUSTDOIT" If the same word JUSTDOIT is print n number of times (6 Replies)
Discussion started by: sankasu
6 Replies

7. Shell Programming and Scripting

Search for a pattern in a String file and count the occurance of each pattern

I am trying to search a file for a patterns ERR- in a file and return a count for each of the error reported Input file is a free flowing file without any format example of output ERR-00001=5 .... ERR-01010=10 ..... ERR-99999=10 (4 Replies)
Discussion started by: swayam123
4 Replies

8. Shell Programming and Scripting

Insert certain field of matched pattern line above pattern

Hello every, I am stuck in a problem. I have file like this. I want to add the fifth field of the match pattern line above the lines starting with "# @D". The delimiter is "|" eg > # @D0.00016870300|0.05501020000|12876|12934|3||Qp||Pleistocene||"3 Qp Pleistocene"|Q # @P... (5 Replies)
Discussion started by: jyu3
5 Replies

9. Shell Programming and Scripting

Search for Pattern as output between the matched String

Hello, I have a file which has the below contents : VG_name LV_name LV_size in MB LV_option LV_mountpoint owner group y testdg rahul2lv 10 "-A y -L" /home/abc2 ... (6 Replies)
Discussion started by: rahul2662
6 Replies

10. UNIX for Beginners Questions & Answers

Search a string inside a pattern matched block of a file

How to grep for searching a string within a begin and end pattern of a file. Sent from my Redmi 3S using Tapatalk (8 Replies)
Discussion started by: Baishali
8 Replies
diff3(1)						      General Commands Manual							  diff3(1)

NAME
diff3 - Compares three files SYNOPSIS
diff3 [-e | -x | -E | -X | -3] file1 file2 file3 The diff3 command reads three versions of a file and writes to standard output the ranges of text that differ. OPTIONS
Creates an edit script for use with the ed command to incorporate into file1 all changes between file2 and file3 (that is, the changes that normally would be flagged ==== and ====3). Produces an edit script to incorporate only changes flagged ====. These are similar to -e and -x, respectively, but treat overlapping changes (that is, changes that are flagged ==== in the normal listing) differently. The overlap- ping lines from both files are inserted by the edit script, bracketed by <<<<<< and >>>>>> lines. The -E option is used by RCS merge to ensure that overlapping changes in the merged files are preserved and brought to someone's attention. Produces an edit script to incorpo- rate only changes flagged ====3. DESCRIPTION
The diff3 command reads three versions of a file and writes to standard output the ranges of text that differ, flagged with the following codes: All three files differ. file1 differs. file2 differs. file3 differs. The type of change needed to convert a given range of a given file to match another file is indicated in one of these two ways in the out- put: Text is to be added after line number number1 in file, where file is 1, 2, or 3. Text in the range line number1 to line number2 is to be changed. If number1 = number2, the range may be abbreviated to number1. The original contents of the range follow immediately after a c indication. When the contents of two files are identical, diff3 does not show the contents of the lower-numbered file, although it shows the location of the identical lines for each. NOTES
Editing scripts produced by the -e option cannot create lines consisting only of a single . (dot). EXAMPLES
To list the differences among three files, enter: diff3 fruit.a fruit.b fruit.c fruit.a, fruit.b, and fruit.c contain the following data: fruit.a: banana grape kiwi lemon mango orange peach pare fruit.b: apple banana grapefruit kiwi orange peach pear fruit.c: grape grapefruit kiwi lemon mango orange peach pear The output from diff3 shows the differences between these files as follows. (The comments on the right do not appear in the output.) ==== All three files are different. 1:1,2c - Lines 1 and 2 of the first file, fruit.a banana grape 2:1,3c - Lines 1 through 3 of fruit.b apple banana grapefruit 3:1,2c - Lines 1 and 2 of fruit.c grape grapefruit ====2 The second file, fruit.b, is different. 1:4,5c - Lines 4 and 5 are the same in fruit.a and fruit.c. 2:4a 3:4,5c - To make fruit.b look the same, add text after line 4. lemon mango ====1 The first file, fruit.a, is different. 1:8c pare 2:7c - Line 7 of fruit.b and line 8 of fruit.c are the same. 3:8c pear FILES
Helper program. SEE ALSO
Commands: bdiff(1), cmp(1), comm(1), diff(1), ed(1) diff3(1)
All times are GMT -4. The time now is 03:38 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy