parsing /etc/passwd


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers parsing /etc/passwd
# 1  
Old 01-23-2012
parsing /etc/passwd

i am parsing te /etc/passwd file and extracting the login and names alone.
But for some entries only login exist but no name. so i dont want to display those:
how i can check non emptiness for login and name in single if statement:
Code:
#!/usr/bin/bash
while IFS=: read login  a b c name e
do
 printf " %-12s %s\n" "$login" "$name"|cut -d, -f1
done</etc/passwd

The above works fine. but i want to make sure taht login and name are not empty:
i have tried the below:
Code:
if [ -n $login -a -n $name ]

BUt thats not working.
Please help me

Thanks
# 2  
Old 01-23-2012
Is this what you're looking for?

Code:
while IFS=: read login  a b c name e
do
    [[ -z $login || -z $name ]] && continue
    printf " %-12s %s\n" "$login" "$name" | cut -d, -f1
done</etc/passwd

This User Gave Thanks to balajesuri For This Post:
# 3  
Old 01-23-2012
Here is an awk
Code:
awk -F":" '$5 != "" && $1 != "" { print $1 } ' /etc/passwd

It will print username if username and login name are not null.

Regards
Peasant.
# 4  
Old 01-23-2012
Quote:
if [ -n $login -a -n $name ]
You need quotes round string variables.
Code:
if [ -n "$login" -a -n "$name" ]

A blank first field in /etc/passwd would be invalid. You just need:
Code:
if [ -n "$name" ]

This User Gave Thanks to methyl For This Post:
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

passwd -s

Hi, I've a problem regarding understanding of result of passwd -s command. > passwd -s abc PS 05/24/12 0 441 I'm not a super user. But i need to write a simple code for checking password expiry and send an email to the team id. Is there any other command or way to achieve this?... (6 Replies)
Discussion started by: sam_bd
6 Replies

2. AIX

When did AIX start using /etc/security/passwd instead of /etc/passwd to store encrypted passwords?

Does anyone know when AIX started using /etc/security/passwd instead of /etc/passwd to store encrypted passwords? (1 Reply)
Discussion started by: Anne Neville
1 Replies

3. Shell Programming and Scripting

AWK? parsing /etc/passwd file.

Hello guys, please help me to make simple script for parsing passwd file. I have many passwd files from our servers, named server1.pass, server2.pass etc.. so for server in `ls *.pass` i need to print these rows: server1;root:!:0:0::/root:/usr/bin/ksh... (7 Replies)
Discussion started by: rubico
7 Replies

4. UNIX for Dummies Questions & Answers

etc/passwd help

Hi! i've been searching a way to display the users who are in the /etc/passwd directory...using ls or grep or cat command should do it?i can't find a way to get this right..i mean none of the preview commands function sounded good to me to use... (9 Replies)
Discussion started by: strawhatluffy
9 Replies

5. Solaris

passwd cmd reenables passwd aging in shadow entry

Hi Folks, I have Solaris 10, latest release. We have passwd aging set in /etc/defalut/passwd. I have an account that passwd should never expire. Acheived by emptying associated users shadow file entries for passwd aging. When I reset the users passwd using passwd command, it re enables... (3 Replies)
Discussion started by: BG_JrAdmin
3 Replies

6. AIX

etc/passwd

Is there any way to allow users to access the etc/passwd file for commands like whoami but not be able to read the file? If I don't put a user in the security group and change the permissions on the etc/passwd file to 640 (rw-r-----) the users can login but the whoami command doesn't work for... (5 Replies)
Discussion started by: daveisme
5 Replies

7. Shell Programming and Scripting

Parsing of file for Report Generation (String parsing and splitting)

Hey guys, I have this file generated by me... i want to create some HTML output from it. The problem is that i am really confused about how do I go about reading the file. The file is in the following format: TID1 Name1 ATime=xx AResult=yyy AExpected=yyy BTime=xx BResult=yyy... (8 Replies)
Discussion started by: umar.shaikh
8 Replies

8. Shell Programming and Scripting

Perl parsing compared to Ksh parsing

#! /usr/local/bin/perl -w $ip = "$ARGV"; $rw = "$ARGV"; $snmpg = "/usr/local/bin/snmpbulkget -v2c -Cn1 -Cn2 -Os -c $rw"; $snmpw = "/usr/local/bin/snmpwalk -Os -c $rw"; $syst=`$snmpg $ip system sysName sysObjectID`; sysDescr.0 = STRING: Cisco Internetwork Operating System Software... (1 Reply)
Discussion started by: popeye
1 Replies

9. Shell Programming and Scripting

wc /etc/passwd

I have left unix for a long time.Almost forget everthing.:( Anybody can tell me what is the meaning? wc /etc/passwd 9 16 1155 /etc/passwd and $ wc -l /etc/passwd wc -l /etc/passwd 9 /etc/passwd (1 Reply)
Discussion started by: zhshqzyc
1 Replies

10. UNIX for Dummies Questions & Answers

etc/passwd

Can anyone explain the second and third fields in /etc/passwd. Thanks. (2 Replies)
Discussion started by: nguda
2 Replies
Login or Register to Ask a Question