Adding delimiter to logged in users


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Adding delimiter to logged in users
# 1  
Old 09-03-2008
Adding delimiter to logged in users

Hi guys!

Just was wanting to run a command that would allow me to seperate the currently logged in users.

Basically from this format:
Code:
 
user1
user2
user3

To:
Code:
user1|user2|user3

(Note the lack of a pipe at the end, not sure if thats possible)

Basically it needs to be in this format for grep -E to use them as a pattern.

I'm using cut to get the usernames,
Code:
who | cut -f1 -d " "

Just wanted to know if there is an easy way to do this?

Thanks,

-Crawf
# 2  
Old 09-03-2008
Why don't you just use who | cut -f1 -d " " | fgrep -f - somefile
# 3  
Old 09-03-2008
Good idea, but i'm not wanting to really output to a file thats all..

Just to give you an idea of exactly what im trying to do, is i'm trying to write a script to check if a user has logged in multiple times. If found, is then checked and matched with a text file of usernames who are not allowed to have multiple logins.

So far:
Code:

while true
do
if [ $(grep -c -w -E 'user1|user2' user.deny) -gt 1 ] ; then
grep -w -E 'user1|user2' user.deny
else
echo "none"
fi
sleep 3
done

Obviously the problem here is that it doesnt check the currently logged in users, which would be from the cut command mentioned earlier. I guess i'm just having trouble joining those two things up, or am i going about it the wrong way?

Any help would be appreciated!

-Crawf
# 4  
Old 09-03-2008
try this :

Code:
who | cut -f1 -d " " | tr "\n" "|" | egrep - user.deny

# 5  
Old 09-03-2008
who |awk '{print $1}'|paste -d"|" -s -
# 6  
Old 09-03-2008
Code:
while true; do
  if ! who | cut -f1 -d " " | uniq -d | fgrep -xf user.deny; then
    echo none
  fi
  sleep 3
done

# 7  
Old 09-04-2008
Era, that seems to have solved the problem! The key to that was the uniq -d command i think, i didnt even know what the did until looking it up in the man pages.

What is the different between using fgrep and grep? I assume fgrep is faster/more efficient?

Thanks to the others for your reply's as well! Solutions worked, but era's code allows you to not have to add pipes between usernames. Handy!

Thanks again!

-Crawf
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Users logged into the system

So I'm trying to write a single line command So I have to use last first in this command and I've figured out the format my professor wants it in, something like thislast | cut -d' ' -f1,15 | sort > check | uniq -c.... and I never can get it right, when I just last command I get something... (2 Replies)
Discussion started by: DoubleAlpha
2 Replies

2. Shell Programming and Scripting

Users not logged in for last 90 days

Hi, How to find the users who did not login into a UNIX box (thru ssh/ftp or any other way) for last 90 days? I think of using "finger" or "last" command to findout each user's last login and then find number of days between today and that day. Is there any other better way or anyone prepared... (1 Reply)
Discussion started by: reddyr
1 Replies

3. Red Hat

Current logged in users

I have 2 systems. (1) RHEL5 and (2) winXP pro from xpPRO putty i ssh into rhel5 : user root from xpPRO i ftp into rhel5 : user abc123 when i run #uptime it only shows 1 user when i do #ps -u abc123 : it shows vsftpd deamon PID is there a command that can be used to show all currently... (4 Replies)
Discussion started by: dplinux
4 Replies

4. UNIX for Dummies Questions & Answers

How many users are logged in?

How do I find this out? I have a feeling its a simple command such as who, but I just don't know what it is. I've had a search on here but either I can't put it into the right search criteria or there isn't a topic on it. Thanks. EDIT: Delete this thread, as I posted it I noticed the... (0 Replies)
Discussion started by: chris_rabz
0 Replies

5. Programming

Get the list of logged in users

How can I get the list of logged in users in the system programmatically? I can get the list with 'who' or 'users' commands but I need to get the list programmatically... May someone help, please? Thanks in advance. (2 Replies)
Discussion started by: xyzt
2 Replies

6. Shell Programming and Scripting

Users Not Logged in

I have searched the forums but have not mangaed to quite find what im looking for. I have used to /etc/passwd command to present me a list of all users the who command to present all users currently logged on, but what i want to know is what command can i use to display users that are registered... (12 Replies)
Discussion started by: warlock129
12 Replies

7. Post Here to Contact Site Administrators and Moderators

logged out users

how to find out users who logged out within 5 minutes (1 Reply)
Discussion started by: roshni
1 Replies

8. UNIX for Advanced & Expert Users

HP-UX users get logged off while idle.

Im "supporting" at least 2500 HP-UX workstations with CAD-related software with the B.11.11 build. I cant say anymore than that because of my companys sligtly paranoid security policy . The last few days a new problem has arised from nowhere. The problem is that users gets logged off when the... (5 Replies)
Discussion started by: Laoinjo
5 Replies

9. Shell Programming and Scripting

how many users logged

in unix what is the syntax to find out how many users are currently logged in (4 Replies)
Discussion started by: trichyselva
4 Replies

10. UNIX for Dummies Questions & Answers

Information about users who have logged.

Hi, Suppose I have a programme called Menu. This menu has various choices as we would expect from a Menu. Now Can you Please help me as I want the details of the Users to be registered to some file , Whoever has entered this particular Program . Basically to see the username and the time that... (2 Replies)
Discussion started by: rooh
2 Replies
Login or Register to Ask a Question