Date: Wed, 08 Oct 2008 15:39:57 -0500 From: Paul Schmehl <pschmehl_lists@tx.rr.com> To: Giorgos Keramidas <keramida@ceid.upatras.gr>, Kalpin Erlangga Silaen <kalpin@muliahost.com> Cc: freebsd-questions@freebsd.org Subject: Re: bash script on FreeBSD Message-ID: <41A5AF34480F0D15F9F490B4@utd65257.utdallas.edu> In-Reply-To: <87wsgidhjh.fsf@kobe.laptop> References: <48EC410C.2030707@muliahost.com> <87wsgidhjh.fsf@kobe.laptop>
next in thread | previous in thread | raw e-mail | index | archive | help
--On Wednesday, October 08, 2008 14:16:02 -0500 Giorgos Keramidas
<keramida@ceid.upatras.gr> wrote:
>
> On Wed, 08 Oct 2008 12:11:40 +0700, Kalpin Erlangga Silaen
> <kalpin@muliahost.com> 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.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?41A5AF34480F0D15F9F490B4>
