Issue with grep


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Issue with grep
# 1  
Old 04-12-2012
Issue with grep

Hi there,

I need to grep out 1 line of a changing file. Any help would be much appreciated.

code:

Code:
xterm -hold -e tail -f /var/lib/dhcp3/dhcpd.leases | grep client-hostname &>/dev/null &

The trouble is it shows the contents of the entire lease file.

I just want to show the line starting with client-hostname or even better just the host name so in the case below it just shows computer01
Code:
lease 10.0.0.11 {
  starts 4 2012/04/12 16:25:30;
  ends 4 2012/04/12 16:35:30;
  cltt 4 2012/04/12 16:25:30;
  binding state active;
  next binding state free;
  hardware ethernet XX:XX:XX:XX:XX:XX;
  uid "\001\000\034\263|>\330";
  client-hostname "Computer01";
}

Thank you in advance

DV

Moderator's Comments:
Mod Comment Code tags for code, please.

Last edited by Corona688; 04-12-2012 at 01:53 PM..
# 2  
Old 04-12-2012
The | isn't run by xterm, it happens in whatever shell you're running xterm in. So it does nothing to the contents that get printed to the xterm.

You can try this:

Code:
xterm -hold -e sh -c 'tail -f /var/lib/dhcp3/dhcpd.leases | grep client-hostname' &>/dev/null &

The sh -c tells it to run the contents of the string after it inside a shell, which you need to understand the |.

And since the | is in a string, it happens inside xterm like you want.
# 3  
Old 04-12-2012
Amazing it works

Is there anyway i could get grep to just show the connected device and not the whole line? So it would just show Computer01 Thanks Dan
# 4  
Old 04-12-2012
grep isn't a programming language, its options for what parts of the match get printed are limited.

How about awk? It is a programming language and understands tokens. Here the program is just 'for all lines that match the regex /client-hostname/, print column two'.

Code:
xterm -hold -e sh -c "tail -f /var/lib/dhcp3/dhcpd.leases | awk '/client-hostname/ { print $2 }'" &>/dev/null &

# 5  
Old 04-12-2012
Same issue with awk

It still displays: client-hostname "Computer01"; and not just: Computer01 Thanks for all your help.
# 6  
Old 04-12-2012
Code:
xterm -hold -e sh -c "tail -f /var/lib/dhcp3/dhcpd.leases | awk '/client-hostname/ { gsub(/\"/, \"\"); print $2 }'" &>/dev/null &

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Issue with Grep

Hi guys, Hope someone can help me with this - I'm sure it's fairly simple but it's driving me mad! (forgive the coding - still new on scripting - come from Windows) I have the following coding for checking whether I want to include a line in a file:- EXTRACT_Date=$(date --date="${PERIOD}"... (6 Replies)
Discussion started by: NickF
6 Replies

2. Shell Programming and Scripting

Issue with grep

Hello, I have an input file that looks like so: LDLR LDLRAD4 VLDLR when I grep "LDLR" I get an output of: LDLR LDLRAD4 VLDLR Since all names have "LDLR" included within them, but all I want the output to be is LDLR I know it can work if I surround the words with pipes for... (5 Replies)
Discussion started by: Rabu
5 Replies

3. UNIX for Dummies Questions & Answers

Grep issue

HI, I have a command to check a license file. License_print. In that file you get the headlines and all different licenses. Now i want to have things extracted from it. so i do like following: license_print | grep -iw -e "user" -e "admin" But i donīt want all lines where user is... (11 Replies)
Discussion started by: Tzwaj
11 Replies

4. Shell Programming and Scripting

Grep issue

Hi Guys, I am new to shell scripting. Need help on grep command. I had a file called file.log which contain below statements. 12 Nov 2013 14:12:17,756 INFO security - Userid: raja, Saved File Instance, Name: , Registry: 23 Nov 2013 14:14:11,777 INFO security - Userid: raja, Saved... (7 Replies)
Discussion started by: Vinoth Kumar G
7 Replies

5. Shell Programming and Scripting

Issue in grep

i have following pattern in file s6:s2 s2:s4 s1:s2:s3:s4:s5:s6 s1 . . Now i want to find occurence of each record in file like s6:s2 occurs twice {once in first record and both occur in 3 record as well} so output should be s6:s2 2 s2:s4 2 s1:s2:s3:s4:s5:s6 :1 s1 : 2 ... (7 Replies)
Discussion started by: sharad.40216
7 Replies

6. Shell Programming and Scripting

Grep issue

Hi All I have a file containing following records: $HEW_TGT_DB2_USER=hbme_bi2 $prmAttunityUser=ais $DS_USER=hbme_bi2 $prmStgUser=hbme_bi2 $prmuser=hbme_bi2 $prmStgPass=hbme_bi2 $prmpwd=hbme_bi2 $prmAttunityUser=ais Say suppose the name of the file is test4.txt When i fire this... (2 Replies)
Discussion started by: vee_789
2 Replies

7. UNIX for Dummies Questions & Answers

Grep issue

more Hello.txt it was a sunny way and i was about to go home. I need to grep and redirect to a new file all the text between 'sunny' and 'go' string above. Note: There may be multiple lines in between the string i need to grep between. If there are multiple 'go' strings it should grep till... (9 Replies)
Discussion started by: mohtashims
9 Replies

8. Shell Programming and Scripting

grep issue

The below command is not working stackmem="$(pmap $1 | grep -i '' | awk '{print $2}'| tr -d ' K')" I need to grep strictly for ----> Regards, Mohtashim (2 Replies)
Discussion started by: mohtashims
2 Replies

9. Shell Programming and Scripting

Grep Issue

<record> <set> <termId>1234</termId> <termType>First</termType> </set> <set> <termId>5678</termId> <termType>Second</termType> </set> </record> This is saved in record.xml Hi I have this sample XML that i am grepping using a shell program. The objective of the task is - based... (7 Replies)
Discussion started by: revertback
7 Replies

10. UNIX for Dummies Questions & Answers

issue with grep

using grep, i have a file emp.lst, and i want all those records where "S" or "s" (capital or small) is not there i used this grep emp.lst when i use grep emp.lst i am getting rows with S..but why negate (^) is not working? (3 Replies)
Discussion started by: soujanya_srk
3 Replies
Login or Register to Ask a Question