Obtenga el nombre del grupo que tiene GID = 0

0

Quería escribir un script de shell en el que tuviera que dar el nombre del grupo cuyo GID = 0. Usé el comando awk como este,

awk -F ':' {$3==0} /etc/group | cut -d ':' -f1

Funciona bien en redhat, aix. Pero no funcionó en Solaris. Lanza un error como awk: error de sintaxis cerca de la línea 1 awk: rescatar cerca de la línea 1

Quiero usar / usr / bin / awk en solaris. ¿Cómo modificar este script de acuerdo con el antiguo awk en solaris?

¿O puedo usar un enfoque alternativo para generalizar este script en todas las plataformas de Linux?

user1507
fuente
Trate de citar el awk secuencia de comandos: awk -F ':' '{$3==0}' /etc/group ….
Scott
awk: error de sintaxis cerca de la línea 1 awk: rescate cerca de la línea 1 Intenté eso en solaris. Muestra un error como este.
user1507
¿Hay algún otro comando que no sea awk para obtener la salida para este caso?
user1507
Eso fue rápido. ... ... ... ... ... ... ... ... probablemente podrías usar sed o perl.
Scott
¿podemos verificar la condición como si GID = 0 imprima el nombre del grupo usando sed?
user1507

Respuestas:

-1

Trate de usar el siguiente:

$ getent group "groupname"

o probablemente esto también podría funcionar

$ awk -F':' '{ print $1 }' /etc/passwd
user3471740
fuente
Pero el OP quiere encontrar el nombre del grupo dado el GID (su getent comando asume que el nombre del grupo ya es conocido). Y /etc/passwd No es un buen lugar para obtener información sobre grupos.
Scott
en aix getent no está disponible
user1507