Using finger in a loop


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Using finger in a loop
# 8  
Old 02-20-2014
From the pseudo-code in your last message, I have no idea what output you're trying to write into newfile.txt. And I don't understand how "increment line from Login name: then goto next two line" relates to what lines are to be written to newfile.txt and what lines are to be skipped over.

Please show us the exact output you want to produce for the sample input you provided.
# 9  
Old 02-20-2014
The file O/P file is
Code:
Login name: jro02                       In real life: ???
Login name: gco45                       In real life: ???
Login name: gma05                       In real life: ???
Login name: abe96                       In real life: Directory: /export/home/abe96           Shell: /bin/ksh
Last login Fri Feb 14 2014 11:16 on pts/56 from redbftyu45
No unread mail
No Plan.
Login name: kna51                       In real life: 
Directory: /export/home/kna51           Shell: /bin/ksh
Last login Wed Aug 7, 2013 on pts/111
No unread mail
No Plan.
Login name: 34e34                       In real life: 
Directory: /export/home/34e34           Shell: /bin/ksh
On since Feb 20 2014 12:19:08 on pts/24 from revbf43dbhtty
4 hours 5 minutes Idle Time
Login name: ttr17                       In real life: ???
Login name: van03                      In real life: ???
Login name: 4rtge                      In real life:
Directory: /export/home/4rtge           Shell: /bin/ksh
On since Feb 20 2014 11:26:13 on pts/11 from  revbf43dbhtty
33 minutes Idle Time
No unread mail

In the above file the first three user (marked as black text) never logged in server. The pink color marked user logged to the server some time back and the blue text users are current user.

So if you see color pink and blue the O/P file has their las logon detials.

So what I thought was we could take with
Code:
Login name:

with grep and
and increment the count from
Code:
Login name:

till line 3
Code:
either "last logon" and "on since"

will redirect to other newtext file to get like
Code:
Last login Fri Feb 14 2014 11:16 on pts/56 from redbftyu45
Last login Wed Aug 7, 2013 on pts/111
On since Feb 20 2014 12:19:08 on pts/24 from revbf43dbhtty
On since Feb 20 2014 11:26:13 on pts/11 from  revbf43dbhtty

# 10  
Old 02-20-2014
With the input file shown above, the simple way to get the output you requested is:
Code:
grep -e '^On since' -e '^Last login' input_file

This User Gave Thanks to Don Cragun For This Post:
# 11  
Old 02-20-2014
But the command you mentioned will not print the user id

I want to pass with user is like

Code:
Login name: abe96   Last login Fri Feb 14 2014 11:16 on pts/56 from redbftyu45
Login name: kna51   Last login Wed Aug 7, 2013 on pts/111
Login name: 34e34   On since Feb 20 2014 12:19:08 on pts/24 from revbf43dbhtty
Login name: 4rtge    On since Feb 20 2014 11:26:13 on pts/11 from  revbf43dbhtty

# 12  
Old 02-20-2014
Quote:
Originally Posted by stew
But the command you mentioned will not print the user id

I want to pass with user is like

Code:
Login name: abe96   Last login Fri Feb 14 2014 11:16 on pts/56 from redbftyu45
Login name: kna51   Last login Wed Aug 7, 2013 on pts/111
Login name: 34e34   On since Feb 20 2014 12:19:08 on pts/24 from revbf43dbhtty
Login name: 4rtge    On since Feb 20 2014 11:26:13 on pts/11 from  revbf43dbhtty

That's interesting. I didn't see anything in the 1st ten messages in this thread that said this is what you want. I explicitly stated in message #8 in this thread:
Quote:
Please show us the exact output you want to produce for the sample input you provided.
and your response to that in message #9 in this thread said that you wanted to get was:
Code:
Last login Fri Feb 14 2014 11:16 on pts/56 from redbftyu45
Last login Wed Aug 7, 2013 on pts/111
On since Feb 20 2014 12:19:08 on pts/24 from revbf43dbhtty
On since Feb 20 2014 11:26:13 on pts/11 from  revbf43dbhtty

I don't see anything here about wanting the user ID in this output.

With you new requirements, a simple way produce the output you requested is:
Code:
awk '
/^Login name/ {
        name = $1 " " $2 " " $3
        next
}
/^(Last login|On since)/ {
        print name "   " $0
}' input_file

as long as you don't require the inconsistent spacing between fields shown above.
# 13  
Old 02-20-2014
When I compile I am getting below error
Code:
report.ksh[30]: /usr/xpg4/bin/awk^J/^Login name/ {^J       print name = $1" " $2" " $3^J       next^J}^J/^(Last login|On since)/{^J        print name "   " $0^J}reportfinal.txt:  not found

I am jsut wondering what this ^j denotes. I surfed net to know more about but don't get any clue.
# 14  
Old 02-20-2014
Newline/linefeed (0x0a hex).

Do /usr/xpg4/bin/awk and reportfinal.txt exist? What does your actual script look like now?
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Finger command help

Hi Does anyone know if there is anyway of doing the finger command for all user id's in my enviroment. What I need to obtain is the full names of all users on the system. I know if i do the finger command with no arguments it will list users currently logged in, but i need all users... ... (2 Replies)
Discussion started by: m3y
2 Replies

2. Shell Programming and Scripting

Finger has gone crazy

Two things : On the first place i am really desperate, on the second i am about to throw my laptop away to the recycle bin in a while. Ok now that i expressed my feeling let me describe you this mad situation. Code: print $1; ("finger -m " $1 "| head -1") | getline userinfo print... (6 Replies)
Discussion started by: beatblaster666
6 Replies

3. UNIX for Advanced & Expert Users

finger command

I want to know the correct version of how i should use the finger command in this example below.(os is debian lenny) (nymserver.pl is located in /home/nymserv directory.) the two versions are : (in/etc/inetd.conf) finger stream tcp nowait nymuser /usr/nym/nymserv nymserv... (3 Replies)
Discussion started by: xstation
3 Replies

4. UNIX for Dummies Questions & Answers

finger

Is there any possible way to get rid of the header when I do finger ? I want to get rid of Login Name Tty Idle Login Time Office Office Phone as the header. Please let me know how to do it. (2 Replies)
Discussion started by: felixwhoals
2 Replies

5. UNIX for Dummies Questions & Answers

finger question

How can I change the name in the 'finger' information? anybody has an idea? (2 Replies)
Discussion started by: ksainth
2 Replies

6. Shell Programming and Scripting

help in finger command.

Hi, iam using sunsolaris. when you type finger command -- it dispalys information about local and remote users. but here it shows as can't stat /dev/gold:8664 can anybody help what is the solution for this error. previously the output came. thanks, shan (1 Reply)
Discussion started by: shanshine
1 Replies

7. UNIX for Advanced & Expert Users

finger command

Hello all, Here is what I am trying to do. If a user exist, then send an echo "EXIST" or else "DOES NOT EXIST". (under HP-UX) Kind of: #!/usr/bin/sh USER=mylogin finger $USER if $? = 0 then echo "EXIST"" else echo "DOES NOT EXIST" fi (10 Replies)
Discussion started by: qfwfq
10 Replies

8. UNIX for Dummies Questions & Answers

Finger Information

Hey, I was wondering If anybody knew of a way to make a log of all users who type the command finger username when username is my own. I would like to see who is keeping track of me :) Thanks (3 Replies)
Discussion started by: hanley_ie
3 Replies

9. UNIX for Dummies Questions & Answers

finger

is there a way to show information on all the users on your system? when i use 'finger' is only shows users names and info who are currently on the system. is there a way to show all accounts? thanx! (5 Replies)
Discussion started by: djatwork
5 Replies

10. UNIX for Dummies Questions & Answers

finger and newsgroups

Hi, I've been using unix at college for a few weeks now and I have come up against a few stumbling blocks: - Most unix commands seem to work w/ regexps - the computers I and my group are allowed to logon to are all itsunXX where XX is a number. if I can {finger @itsun88} to find out that I and... (1 Reply)
Discussion started by: the_man_who
1 Replies
Login or Register to Ask a Question