How to capture string below a line?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting How to capture string below a line?
# 1  
Old 05-12-2014
How to capture string below a line?

Hi,
I need to collect IP address of all servers (more than 300). One way is put it in for loop and run nslookup for that servers list, but there are multiple fields in output.
Code:
(tty/dev/pts/13): bash: 1011 > nslookup vplssor04
Server:         10.58.115.34
Address:        10.58.115.34#53
 Name:   vplssor04.dd.test.com       ----> I WANT TO CAPTURE THIS LINE
Address: 10.63.23.12

So it means, I want to capture line just below "Name: vplssor04.dd.test.com". If I grep "Address", it will capture both lines which contains "Address"
Can somebody suggest me easy way to capture it ?

Last edited by solaris_1977; 05-12-2014 at 03:23 PM..
# 2  
Old 05-12-2014
Code:
 nslookup vplssor04 | awk '/^Address:/{p++;next} p && p-- {print $2}'

# 3  
Old 05-12-2014
vgersh99, it didn't returned anything. Did I missed something ?
Code:
(tty/dev/pts/13): bash: 1040 > nslookup vplssor04 | awk '/^Address:/{p++;next} p && p-- {print $2}'
 
(tty/dev/pts/13): bash: 1041 > nslookup vplssor04 | awk '/^Address:/{p++;next} p'
 Name:   vplssor04.dd.test.com
 (tty/dev/pts/13): bash: 1042 >

There is a blank line in between all outputs, which is not showing here when I paste here (If that matters)
# 4  
Old 05-12-2014
GNU grep:
Code:
grep -A2 vplssor04.dd.test.com | tail -1

sed:
Code:
sed -n '/vplssor04.dd.test.com/{N;s/.*\n//;p;}'

awk:
Code:
awk '/vplssor04.dd.test.com/{getline; print}'

This User Gave Thanks to MadeInGermany For This Post:
# 5  
Old 05-12-2014
strange, works for me as stated with gawk.
Are you on Solaris by any chance? If so, try using 'nawk' instead of 'awk'.
Or you can try:
Code:
awk '/^Address:/{p++;next} p {print $2;p--}'

# 6  
Old 05-12-2014
Thanks a lot. It made my life easy.
I am on Linux.
# 7  
Old 05-12-2014
Also consider the better parse-able alternatives:
Code:
getent hosts vplssor04.dd.test.com

and
Code:
host vplssor04.dd.test.com

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Awk:String search more than one time and capture OP

Dear All During one of mine script developemnt i am stuch at one sub part. Requiremnt is as below kindly help me. IP file: 2015-02-28 10:10:15 AL M UtranCell UtranCell=RTE001X (unavailable) 2015-02-28 10:10:15 AL M UtranCell UtranCell=RTE001Y (unavailable) 2015-02-28 10:10:15 AL M... (6 Replies)
Discussion started by: jaydeep_sadaria
6 Replies

2. Shell Programming and Scripting

Script to capture string in a log file

Dear all, I have a log file to be analysed. this log file contains vaiours lines of code starting with date timestamp. if my search string is exception then that resepective log statement starting from the date is required. example: 2014/10/01 16:14:44.459|>=|E|X|19202496|2832|... (5 Replies)
Discussion started by: shravee
5 Replies

3. Shell Programming and Scripting

String capture from ip file

Dear All From below mention input file I want op file as mention. Kindly help. IP file: "BSCGNR4_IPA17_C" 329 140119 0717 RXOCF-105 KJO001_BASC_NG AC FAULTY DG ON DOOR OPEN Needed OP: 140119 0717 KJO001_BASC_NG AC FAULTY DG ON DOOR OPEN Note that string mark in red as variable in... (3 Replies)
Discussion started by: jaydeep_sadaria
3 Replies

4. Shell Programming and Scripting

awk help string capture

Dear All My input file as under. From it I want op fine as mention below. Kindly help. I use below code but not help. code: awk -F" " '{print $2}' ip file: "BSCJNGR_IPA17_C" 030 131207 1305 RXOCF-353 PBD011_BGIL BOTH AC FAULTY "BSCJNGR_IPA17_C" 991 131207 1637 RXOCF-224 NAV001_BGIL ... (5 Replies)
Discussion started by: jaydeep_sadaria
5 Replies

5. Shell Programming and Scripting

How to capture a string enclose by a pattern within a file?

Hi all, My file :test.txt just like this: ........................... From: 333:123<sip:88888888888@bbbb.com To: <sip:123456@aaaaa.com ......................... I want a script to capture the string between sip: & @ Expect output: 88888888888 123456 Please help! (4 Replies)
Discussion started by: Alex Li
4 Replies

6. Shell Programming and Scripting

Capture string contained on a line?

Hello All, I'm working on a script that runs the wget command on a list of IP Address in order to capture the data at that address' index.html. That part works fine to get the HTML code at that address but the data I'm trying to pull out is on a line containing a BUNCH of code for an HTML... (4 Replies)
Discussion started by: mrm5102
4 Replies

7. UNIX for Advanced & Expert Users

capture data from matched string/line

Hi, I have a query as follows : suppose I am matching a string in a file say "start from here" and I want to pick up 'n' number of lines () from the matched string. Is there any way to do that ? 1) going forward I want to do this for every match for the above string 2) or limit this to... (2 Replies)
Discussion started by: sumoka
2 Replies

8. Shell Programming and Scripting

Need to capture certain text from a string in a different file

Hi, I wanted to know how i could accomplish this in a script using ksh. Lets say there is a file called test.dat and it has a certain input like below : . . Hi = 56 Hi = 67 . . 1 record(s) selected Now i need to capture the numbers after the = sign and store them in a... (3 Replies)
Discussion started by: Siddarth
3 Replies

9. Shell Programming and Scripting

Capture first N Bytes from first line in a file

Hi Guyz, I need to capture first N Bytes from the first line of my file. Eg. If i have following data in File1 414d51204541495052475731202020204a910846230e420c Hello 3621363663212 Help Required Then, i want the value of first 48 Bytes to be stored in a variable. That is, variable... (5 Replies)
Discussion started by: DTechBuddy
5 Replies

10. Shell Programming and Scripting

Need to capture the service name from tnsnames.ora and create connect string

ghkjkjoj (4 Replies)
Discussion started by: chetankelvin
4 Replies
Login or Register to Ask a Question