Grep the word from pattern line and update in subsequent lines till next pattern line reached


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Grep the word from pattern line and update in subsequent lines till next pattern line reached
# 1  
Old 06-18-2012
Java Grep the word from pattern line and update in subsequent lines till next pattern line reached

Hi,

I have got the below requirement. please suggest.

I have a file like,

Code:
Processing Item is: [08765]
/data/ing/cfg2/abc.txt
/data/ing/cfg3/bgc.txt
Processing Item is: [0975398]
/data/cmd/for2/ght.txt
/data/kernal/config.klgt.txt

I want to process the above file to get the output file like,

Code:
08765:/data/ing/cfg2/abc.txt
08765:/data/ing/cfg3/bgc.txt
0975398:/data/cmd/for2/ght.txt
0975398:/data/kernal/config.klgt.txt

i.e, here the pattern line is the one starts with "Processing Item is:" which has the string/number in square bracket at the end. i want to grep the string/number and put it in the next few lines until next pattern line starts. once the next pattern line comes, grep the number/string from that new pattern line and add it to the below lines until next pattern line is reached and so on..

Last edited by Scrutinizer; 06-18-2012 at 05:03 AM.. Reason: code tags
# 2  
Old 06-18-2012
awk

Hi,

Try this one,
Code:
awk -F ':' '/Processing/{p=$2;gsub(/[\]\[ ]/,"",p);next;}{$0=p":"$0;}1' file

Cheers,
Ranga:-)

Last edited by rangarasan; 06-18-2012 at 04:35 AM..
# 3  
Old 06-18-2012
Ranga,
Thanks for quick response.
I am getting below syntax error. please check this error and suggest me.

Code:
awk: syntax error near line 1
awk: bailing out near line 1


Last edited by Scrutinizer; 06-18-2012 at 05:03 AM.. Reason: code tags
# 4  
Old 06-18-2012
try this

Code:
 
awk -F"[][]" '{if($0~/Processing/){a=$2}else{print a":"$0}}' input.txt

This User Gave Thanks to itkamaraj For This Post:
# 5  
Old 06-18-2012
use nawk instead of awk if you are using solaris.
This User Gave Thanks to rangarasan For This Post:
# 6  
Old 06-18-2012
MySQL

nawk is doing it correctly. Thanks Ranga.

command from Kamaraj also working except it is bringing ']' also in my output file.

Thanks to both.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Get an output of lines in pattern 1st line then 10th line then 11th line then 20th line and so on.

Input file: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 (6 Replies)
Discussion started by: Sagar Singh
6 Replies

2. Shell Programming and Scripting

awk to combine lines from line with pattern match to a line that ends in a pattern

I am trying to combine lines with these conditions: 1. First line starts with text of "libname VALUE db2 datasrc" where VALUE can be any text. 2. If condition1 is met then continue to combine lines through a line that ends with a semicolon. 3. Ignore case when matching patterns and remove any... (5 Replies)
Discussion started by: Wes Kem
5 Replies

3. Shell Programming and Scripting

Match Pattern and print pattern and multiple lines into one line

Hello Experts , require help . See below output: File inputs ------------------------------------------ Server Host = mike id rl images allocated last updated density vimages expiration last read <------- STATUS ------->... (4 Replies)
Discussion started by: tigerhills
4 Replies

4. Shell Programming and Scripting

Sed: printing lines AFTER pattern matching EXCLUDING the line containing the pattern

'Hi I'm using the following code to extract the lines(and redirect them to a txt file) after the pattern match. But the output is inclusive of the line with pattern match. Which option is to be used to exclude the line containing the pattern? sed -n '/Conn.*User/,$p' > consumers.txt (11 Replies)
Discussion started by: essem
11 Replies

5. Shell Programming and Scripting

Displaying text till pattern match found in a line

Hi All, From the below line if we want to display all the text till found pattern dot/. I was trying with the below code but couldn't able to print text before the pattern. it display texts which is found after pattern. awk '/assed/{print;getline;print}' file_name | sed 's/^*. *//' input... (4 Replies)
Discussion started by: Optimus81
4 Replies

6. Shell Programming and Scripting

Awk script to match pattern till blank line

Hi, I need to match lines after a pattern, upto the first blank line. Searched in web and some forums but coulnt find the answer. where <restart_step> = 10 -- Execute query 20 -- Write the contents to the Oracle table 30 -- Writing Contents to OUTPUT... (7 Replies)
Discussion started by: justchill
7 Replies

7. Shell Programming and Scripting

Grep multiple line pattern and output the lines

Hi I have the following Input -- -- TABLE: BUSINESS_UNIT -- ALTER TABLE RATINGS.BUSINESS_UNIT ADD CONSTRAINT FK1_BUSINESS_UNIT FOREIGN KEY (PEOPLESOFT_CHART_FIELD_VALUE_ID) REFERENCES RATINGS.PEOPLESOFT_CHART_FIELD_VALUE(PEOPLESOFT_CHART_FIELD_VALUE_ID) ; ALTER TABLE... (1 Reply)
Discussion started by: pukars4u
1 Replies

8. Shell Programming and Scripting

Print word 1 in line 1 and word 2 in line 2 if it matches a pattern

i have a file in this pattern MATCH1 word1 IMAGE word3 word4 MATCH2 word1 word2 word3 word4 MATCH2 word1 word2 word3 word4 MATCH2 word1 word2 word3 word4 MATCH2 word1 word2 word3 word4 MATCH1 word1 IMAGE word3 word4 MATCH2 word1 word2 word3 word4 MATCH2 word1 word2 word3 word4 MATCH2 word1... (7 Replies)
Discussion started by: bangaram
7 Replies

9. Shell Programming and Scripting

replace only 1st word of a line if it comes in the subsequent lines at same postion.

I have a file like this.. Maharastra Mumbai worli Maharastra Mumbai navy maharatra Pune Maharastra Nagpur Karnataka Bangalore Karnataka Mysore Karnataka Mangalore Punjab Amritsar punjab Jalandar my expected outcome should be like this Maharastra Mumbai worli ---------- ... (9 Replies)
Discussion started by: geeko
9 Replies

10. Shell Programming and Scripting

Need to remove few characters from each line till a pattern is matched

Hi All, I want to remove first few characthers from starting of the line till ',' Comma... which needs to be done for all the lines in the file Eg: File content 1,"1234",emp1,1234 2,"2345",emp2,2345 Expected output is ,"1234",emp1,1234 ,"2345",emp2,2345 How can parse... (4 Replies)
Discussion started by: kiranlalka
4 Replies
Login or Register to Ask a Question