bash script on FreeBSD
Paul Schmehl
pschmehl_lists at tx.rr.com
Wed Oct 8 21:08:17 UTC 2008
--On Wednesday, October 08, 2008 14:16:02 -0500 Giorgos Keramidas
<keramida at ceid.upatras.gr> wrote:
>
> On Wed, 08 Oct 2008 12:11:40 +0700, Kalpin Erlangga Silaen
> <kalpin at 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.
More information about the freebsd-questions
mailing list