Ayuda con Shell Scripts. Urgente.

Dudas sobre los distintos compiladores C/C++ en Linux
Responder
Mensaje
Autor
adair
Mensajes: 1
Registrado: 19/11/2010 12:16 am

Ayuda con Shell Scripts. Urgente.

#1 Mensaje por adair » 19/11/2010 12:30 am

Hola chicos,

Mi jefe me ha pedido que haga 2 scripts los cuales muestren todos los usuarios que pertenecen al sistema con su grupo, ordenados. A continuacion os adjunto la informacion completa
Se debe mostrar la lista de usuarios con su nombre grupo al lado ordenado por usuario:

usuario:grupo

El segundo debe mostrar la lista de grupos con todos los usuarios de cada grupo en el siguiente formato:

grupo:usuario1,usuario2,..,usuarioN
el primero lo he hecho ultilizando users y groups

#!/bin/bash

echo "Aqui tienes al usuario con su grupo ordenados"

while read linea;do

groups $(cut -f1 -d: | sort );
done < /etc/passwd


Bien, mi problema es el siguiente:
Quiere que lo haga sin utilizar users ni groups. Únicamente manejando los ficheros /etc/passwd y /etc/groups.
Muchas Gracias!

daltomi
Mensajes: 351
Registrado: 28/04/2007 7:29 pm
Ubicación: Argentina
Contactar:

#2 Mensaje por daltomi » 19/11/2010 12:19 pm

Buenas.
Podrías utilizar gawk:

Código: Seleccionar todo

#!/bin/bash
#Formato passwd
# nombre:contraseña:UID:GID:opcionles:
F_PASS=/etc/passwd
echo 'Usuarios:'; echo
gawk 'BEGIN{FS=":"}{print $1":"$4}' "$F_PASS" | sort

echo '----------------'

#Formato group
# nombre:contraseña:GID:miembros,,,
F_GRP=/etc/group
echo 'Grupos:'; echo
gawk 'BEGIN{FS=":"}{print $1":"$4}' "$F_GRP" | sort

exit 0
El problema es que en el arch. passwd el GID no se encuentra de forma de alias como en el caso de group, aunque se podría buscar la correspondencia.

Saludos.

Responder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados