Quick question


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Quick question
# 1  
Old 02-17-2009
Quick question

When I have a file like this:

0084AF aj-123-a NAME Ajay NAME Kumar Engineer
015ED6 ck-345-c
020B25 ef-456-e
027458 pq-890-p NAME Peter NAME Salob Doctor
0318F0 xy-123-x NAME Xavier Arul NAME Yesu Supervisor
0344CA de-456-d

where - The first NAME is followed by one or more names (depending on first and middle names) and the second NAME is followed by the last name and profession.

My question is:

How could I extract only the "last name" for each id (0084AF, etc) when a NAME exists? (the lines with no NAME are to be ignored.)

The confusion here is the fist NAME field that could have more than one name following it (which makes the number of fields on the output inconsistent) as you could see for the id 0318F0.

Any suggestions?
# 2  
Old 02-17-2009
grep NAME | awk '{print $4}'
maybe Smilie
# 3  
Old 02-17-2009
grep NAME | awk '{print $(NF-1)}'

This gives 2nd last field every time
# 4  
Old 02-19-2009
Sweet, what's NF?
# 5  
Old 02-20-2009
Code:
#!/usr/bin/perl
use strict;
open FH,"<a.txt";
while(<FH>){
	print $1,"\n" if /^.*NAME.*NAME (.*) .*$/;
	print "No NAME\n" if !/^.*NAME.*NAME (.*) .*$/;
}
close FH;

# 6  
Old 02-20-2009
Quote:
Originally Posted by Bloke
Sweet, what's NF?

NF- Total Number of Fields in a row
# 7  
Old 02-20-2009
thanks
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Quick question.

I'd like to list all userid's on the system that have a .bashrc file in their home directory with a command like "cat /etc/passwd | grep -f", however I'm not quite familiar with using grep. Any suggestions? (2 Replies)
Discussion started by: raidkridley
2 Replies

2. UNIX for Dummies Questions & Answers

Quick question

Hello all, Quick question from a fairly new to Unix developer. if then completedLogFile=$logfile.$(date +%Y%m%d-%H:%M:%S) mv $logfile $completedLogFile fi I understand that this portion of code is simply copying a tmp logfile to a completed logfile when a condition is true. The... (2 Replies)
Discussion started by: JohnnyBoy
2 Replies

3. UNIX for Dummies Questions & Answers

quick question

from command prompt I did grep two words on a same line for eg: grep abc | grep xyz and I got tht particular line, but I want to know when I vi that file how to directly search for that particular line? I appreciate if any one can provide answer, thanks in advance (2 Replies)
Discussion started by: pkolishetty
2 Replies

4. UNIX for Dummies Questions & Answers

Quick question

Hi, Is there a simple way, using ksh, to find the byte position in a file that a stated character appears? Many thanks Helen (2 Replies)
Discussion started by: Bab00shka
2 Replies

5. UNIX for Dummies Questions & Answers

Quick Question

Hi, I am new to UNIX, and am learning from this tutorial : http://www.ee.surrey.ac.uk/Teaching/Unix/index.html It keeps telling me to files downloaded from the internet (like .txt files) to the directory, and I dont know how to. How do I add .txt files to my directory? Thanks. (6 Replies)
Discussion started by: IAMTHEEVILBEAN
6 Replies

6. Shell Programming and Scripting

quick question

does anyone know what $? means? i echoed it on my box (running AIX Korn shell) and got 127 (2 Replies)
Discussion started by: penfold
2 Replies

7. UNIX for Dummies Questions & Answers

Another quick question

Hi guys sed -e "s/$<//g" the $< can allow me to assign an input value to the variable right? do the double quotes check the previous context? (1 Reply)
Discussion started by: hamoudzz
1 Replies

8. UNIX for Dummies Questions & Answers

Quick Question

Hello There! I am trying to write this SIMPLE script in Bourne Shell but I keep on getting syntax errors. Can you see what I am doing wrong? I've done this before but I don't see the difference. I am simply trying to take the day of the week from our system and when the teachers sign on I want... (7 Replies)
Discussion started by: catbad
7 Replies

9. Shell Programming and Scripting

A very quick question

Just a super quick question: how do you put a link in your php code. I want to make a link to something in /tmp directory. i.e. how do you put a href into php, I think it's done a bit differently. thanks john (1 Reply)
Discussion started by: jmg5
1 Replies

10. UNIX for Dummies Questions & Answers

Quick Question

I know in DOS, when you want to pull up your last/previous command, you hit the up/down arrows. How do you do that with UNIX? (3 Replies)
Discussion started by: Tracy Hunt
3 Replies
Login or Register to Ask a Question