Grep a string and write a value to next line of found string


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Grep a string and write a value to next line of found string
# 1  
Old 08-16-2011
Grep a string and write a value to next line of found string

Hi,
I have two variables x and y.
i need to find a particular string in a file, a workflow name and then insert the values of x and y into the next lines of the workflow name.
basically it is like as below

wf_xxxxxx
$$a=
$$b=
$$c= figo
$$d=bentley
i need to grep the 'wf_xxxx' and then write the values x and y to$$a and $$b.

Thanks in advance.

Last edited by angel12345; 08-16-2011 at 10:22 AM..
# 2  
Old 08-16-2011
Try:
Code:
awk -F= '
/wf_xxxxxx/{
  print; getline; $(NF+1)=x;
  print; getline; $(NF+1)=y}
1' x="value1" y="value2" OFS="=" file > newfile

# 3  
Old 08-16-2011
Hi franklin,
thanks for the reply.
can u pls explain this for my future reference.
also i want to write the values of x and y into $$a and $$b
# 4  
Old 08-16-2011
here you go; setting x=12 and y=13 to test:


Code:
# x=12;y=13

# gawk -F"=" -v x=$x -v y=$y  '/wf_xxxxxx/{print;getline;print $0x;getline;print $0y;getline}1' /tmp/yourfilename

Quote:
Here is the output:

wf_xxxxxx
$$a=12
$$b=13
$$c= figo
$$d=bentley
# 5  
Old 08-16-2011
Quote:
Originally Posted by angel12345
Hi franklin,
thanks for the reply.
can u pls explain this for my future reference.
Sure:
Code:
awk -F= '				# field separator is "="
/wf_xxxxxx/{				# when the regexp is matched
  print; getline; $(NF+1)=x;		# print the line, get the next line and add x as last field
  print; getline; $(NF+1)=y}		# print the line, get the next line and add y as last field
1' x="value1" y="value2" OFS="=" file > newfile

Quote:
also i want to write the values of x and y into $$a and $$b
Post an example of the input file and the desired output.
# 6  
Old 08-16-2011
Hi Franklin,

The input values are x=21-10-1986 and y= 22-10-1986
so i need to check the particular wf name , wf_xxxx .
The param file format is like

[wf_xxxx]
$$startdate=
$$enddate=

i need to assign teh value of x and y to $$startdate and $$enddate.
hope i made myself clear to you.

---------- Post updated at 09:50 AM ---------- Previous update was at 09:48 AM ----------

Hi dude2cool,
Thanks a lot for your response.
Could you be little elaborate on the description.

thanks in advance.
# 7  
Old 08-16-2011
HTML Code:
gawk -F"=" -v x=$x -v y=$y      #Sets Field Separator to = and sets 2 
                                #variables to the values of x and y
 '/wf_xxxxxx/{                     #search for a line that has the pattern wf_xxxxxx
print;                              #print first line which is basically the line that    
                                          #contains wf_xxxxxx pattern
getline;                                # get next line
print $0x;                             # print the line with value of x
getline;print $0y;                   # repeat above for y
getline}1'   /tmp/yourfilename  # print rest of lines
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to uppercase matching line when string found?

Hello, Could you please help me how to search the string in a file, and when found; change the existing line to uppercase in command line? I tried: ?whichcommand? -A "EXT" fileA | awk '{print tolower($0)}' | tee fileB tr command simply converts entire file to uppercase but this is not what... (4 Replies)
Discussion started by: baris35
4 Replies

2. Shell Programming and Scripting

Insert line based on found string

Hi All I'm trying to insert a new line at the before each comment line in a file. Comment lines start with '#-----' there are other comments with in lines but I don't want a new line there. Example file: blah blah #do not insert here #this is a comment blah #some more #another comment... (10 Replies)
Discussion started by: Mudshark
10 Replies

3. Shell Programming and Scripting

Grep and replace with found string

Hi, I need to find all rows in 1st col of one file in another file (first occurrence) and replace the 1st col of first file with the grep result (the entire line). For example search AA from file 1 in file 2 and replace in file 1 by entire line found. File1 AA BB CC DD BB AA CC DDFile2 ... (2 Replies)
Discussion started by: ritakadm
2 Replies

4. Shell Programming and Scripting

grep exact string from files and write to filename when string present in file

I am attempting to grep an exact string from a series of files within a directory and append that output to the filename when it is present in the file. I've been after this all day with no luck. Thanks for your help in advance :wall:. (4 Replies)
Discussion started by: JC_1
4 Replies

5. UNIX for Dummies Questions & Answers

Append a string on the next line after a pattern string is found

Right now, my code is: s/Secondary Ins./Secondary Ins.\ 1/g It's adding a 1 as soon as it finds Secondary Ins. Primary Ins.: MEDICARE B DMERC Secondary Ins. 1: CONTINENTAL LIFE INS What I really want to achieve is having a 1 added on the next line that contain "Secondary Ins." It... (4 Replies)
Discussion started by: newbeee
4 Replies

6. Shell Programming and Scripting

Grep a string from input file and delete next three lines including the line contains string in xml

Hi, 1_strings file contains $ cat 1_strings /home/$USER/Src /home/Valid /home/Review$ cat myxml <projected value="some string" path="/home/$USER/Src"> <input 1/> <estimate value/> <somestring/> </projected> <few more lines > <projected value="some string" path="/home/$USER/check">... (4 Replies)
Discussion started by: greet_sed
4 Replies

7. Shell Programming and Scripting

grep on string and printing line after until another string has been found

Hello Everyone, I just started scripting this week. I have no background in programming or scripting. I'm working on a script to grep for a variable in a log file Heres what the log file looks like. The x's are all random clutter xxxxxxxxxxxxxxxxxxxxx START: xxxxxxxxxxxx... (7 Replies)
Discussion started by: rxc23816
7 Replies

8. Shell Programming and Scripting

Grep a string and print a string from the line below it

I know how to grep, copy and paste a string from a line. Now, what i want to do is to find a string and print a string from the line below it. To demonstrate: Name 1: ABC Age: 3 Sex: Male Name 2: DEF Age: 4 Sex: Male Output: 3 Male I know how to get "3". My biggest problem is to... (4 Replies)
Discussion started by: kingpeejay
4 Replies

9. Shell Programming and Scripting

grep to show date/time of file the string was found in.

I've seen several examples of grep showing the filename the string was found in, but what I really need is grep to show the file details in long format (like ls -l would). scenario is: grep mobile_number todays_files This will show me the string I'm after & which files they turn up in, but... (2 Replies)
Discussion started by: woodstock
2 Replies

10. Shell Programming and Scripting

How to replace all string instances found by find+grep

Hello all Im performing find + grep operation that looks like this : find . -name "*.dsp" | xargs grep -on Project.lib | grep -v ':0' and I like to add to this one liner the possibility to replace the string " Project.lib" that found ( more then once in file ) with "Example.lib" how can I do... (0 Replies)
Discussion started by: umen
0 Replies
Login or Register to Ask a Question