--On Wednesday, October 08, 2008 14:16:02 -0500 Giorgos Keramidas <[EMAIL PROTECTED]> wrote:


On Wed, 08 Oct 2008 12:11:40 +0700, Kalpin Erlangga Silaen
<[EMAIL PROTECTED]> wrote:
Dear all,

I am going to extract field username and UID from /etc/passwd and
passed into some scripts.  Let say I got line

admin 100
admin2 200
admin3 300
admin4 400

and then I want to echoing into screen:

admin has uid 100
admin2 has uid 200
admin3 has uid 300
admin4 has uid 400

How do I make this with bash script?

You don't really need bash for this.

Here's a sample awk script that should work:

    % cat -n /tmp/userlist.awk
         1  #!/usr/bin/awk -f
         2
         3  {
         4          print $1,"has uid",$2;
         5  }
    % chmod 0755 /tmp/userlist.awk
    % cat /tmp/user-data
    admin 100
    admin2 200
    admin3 300
    admin4 400
    % /tmp/userlist.awk < /tmp/user-data
    admin has uid 100
    admin2 has uid 200
    admin3 has uid 300
    admin4 has uid 400
    %

Sure, but why use an elephant to swat a flea when

awk 'FS=":"; {print $1" has uid "$3}' /etc/passwd | sort -k 4 -n

works fine and returns the accounts in numerical order?

--
Paul Schmehl, Senior Infosec Analyst
As if it wasn't already obvious, my opinions
are my own and not those of my employer.
*******************************************
Check the headers before clicking on Reply.

_______________________________________________
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to