13.3 Awk
Referencias para Awk:
-
Effective awk Programming, 3rd edition (O'Reilly)
-
Sed & awk, 2nd edition (O'Reilly)
-
mawk(1)
y gawk(1)
-
info gawk
Peque�o programa de ejemplo (sirve como entrada para el comando
newusers
)
#!/usr/bin/awk -f
# Script para crear un archivo que sirva para usar con el comando
# newusers a partir de un archivo que contiene las IDs y contrase�as de
# los usuarios de la siguiente manera: nombre apellido contrase�a
# Copyright (c) KMSelf Sat Aug 25 20:47:38 PDT 2001
# Distribuido bajo GNU GPL v 2 o cualquier versi�n posterior.
# Este programa se distribuye SIN NINGUNA GARANT�A.
BEGIN {
# Asignar UID, GID iniciales
if ( ARGC > 2 ) {
startuid = ARGV[1]
delete ARGV[1]
}
else {
printf( "Uso: newusers UIDinicial archivo\n" \
"...donde UIDinicial es el ID del primer usuario " \
"a agregar y 'archivo' es \n" \
"un archivo de entrada de la forma: \n"\
"'nombre apellido contrase�a'\n" \
)
exit
}
infile = ARGV[1]
printf( "Primer UID: %s\n\n", startuid )
}
/^#/ { next }
{
++record
first = $1
last = $2
passwd = $3
user= substr( tolower( first ), 1, 1 ) tolower( last )
uid = startuid + record - 1
gid = uid
printf( "%s:%s:%d:%d:%s %s,,/home/%s:/bin/bash\n", \
user, passwd, uid, gid, first, last, user \
)
}
En Debian dos paquetes proveen awk
POSIX:
-
mawk
-
Prioridad: requerido
-
Tama�o de instalaci�n: 228
-
M�s peque�o y mucho m�s r�pido – �til para una instalaci�n predeterminada
-
Compile-time limits exist
-
NF = 32767
-
sprintf buffer = 1020
-
gawk