Re: bash script on FreeBSD

2008-10-08 Thread Artis Caune
On Wed, Oct 8, 2008 at 8:11 AM, Kalpin Erlangga Silaen
[EMAIL PROTECTED] wrote:
 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?

# echo $line |awk '{ print $1  has uid  $2 }'




-- 
regards,
Artis Caune

. CCNA | BSDA
|
' didii FreeBSD
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: bash script on FreeBSD

2008-10-08 Thread Frank Shute
On Wed, Oct 08, 2008 at 12:11:40PM +0700, Kalpin Erlangga Silaen 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?
 
 Thank you
 
 
 Kalpin Erlangga Silaen

$ sed -e 's/\(admin[0-9]*\)\ \([0-9]*\)/\1 has uid \2/g' /etc/passwd

Regards,

-- 

 Frank 


 Contact info: http://www.shute.org.uk/misc/contact.html 

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


Re: bash script on FreeBSD

2008-10-08 Thread Frank Shute
On Wed, Oct 08, 2008 at 08:11:56AM +0100, Frank Shute wrote:

 On Wed, Oct 08, 2008 at 12:11:40PM +0700, Kalpin Erlangga Silaen 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?
  
  Thank you
  
  
  Kalpin Erlangga Silaen
 
 $ sed -e 's/\(admin[0-9]*\)\ \([0-9]*\)/\1 has uid \2/g' /etc/passwd
 

Correction: You can't use that on /etc/passwd directly. But assuming
you've got a file already in the format you specified, then you can
use it on that.

If you want to grab the data directly from /etc/passwd then you'd be
better off using awk(1).

Regards,

-- 

 Frank 


 Contact info: http://www.shute.org.uk/misc/contact.html 

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


Re: bash script on FreeBSD

2008-10-08 Thread Kalpin Erlangga Silaen

Dear Frank,

you are correct. Finally, I write my script using awk. Thank you

Kalpin Erlangga Silaen

Frank Shute wrote:

On Wed, Oct 08, 2008 at 08:11:56AM +0100, Frank Shute wrote:
  

On Wed, Oct 08, 2008 at 12:11:40PM +0700, Kalpin Erlangga Silaen 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?

Thank you


Kalpin Erlangga Silaen
  

$ sed -e 's/\(admin[0-9]*\)\ \([0-9]*\)/\1 has uid \2/g' /etc/passwd




Correction: You can't use that on /etc/passwd directly. But assuming
you've got a file already in the format you specified, then you can
use it on that.

If you want to grab the data directly from /etc/passwd then you'd be
better off using awk(1).

Regards,

  


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


Re: bash script on FreeBSD

2008-10-08 Thread Giorgos Keramidas
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
%

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


Re: bash script on FreeBSD

2008-10-08 Thread Paul Schmehl
--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]


bash script on FreeBSD

2008-10-07 Thread Kalpin Erlangga Silaen
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?

Thank you


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