Con comando simpleawk
:
awk -F':' 'NR==FNR{ a[$3]=$1; next }{ print $1", "a[$4] }' /etc/group /etc/passwd
-F':'
-separador de campo NR==FNR{ a[$3]=$1; next }
-procesando el primer archivo de entrada (es decir,/etc/group
):a[$3]=$1
-captura nombre de grupo$1
usando identificador de grupo$3
como matriz a
clave next
-saltar al siguiente registro { print $1", "a[$4] }
-acción para el segundo archivo de entrada (es decir,/etc/passwd
):$1
-el primer campo;indicando nombre de usuarioa[$4]
-obtener nombre de grupo por ID de grupo (presentado por campo$4
)