Awk -v : on me signale une erreur que je ne..
Momo
-
jisisv Messages postés 3645 Date d'inscription Statut Modérateur Dernière intervention -
jisisv Messages postés 3645 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour
SVP,Voici un script en awk dont le but est d'afficher la liste de tous les groupes et le nombre d'usagers de chaque groupe du fichier /etc/passwd (cela marche parfaitement).
Mais je voulais également inviter l'utilisateur d'insérer un Numéro de groupe et d'afficher le nom, le login et le UID de tous les usagers de ce groupe.
Le problème est qu'on me signale une erreur de syntaxe à la ligne où il y a awk-v. Quelqu'un peut m'aider à détecter mon erreur ? Merci d'avance.
#!/bin/sh
#***************************************
#script pour les informations des GID
#***************************************
awk < /etc/passwd 'BEGIN {FS=":"}\
{totaluser[$4]++}
END {for (groupe in totaluser)printf"%-20s%-20s\n",\
groupe, totaluser[groupe]}'|sort |more
awk < /etc/passwd 'BEGIN {FS=":"}
{
print "Nom Login Num_Identification"
print "--------------------------------------------------------"
echo-n " Veuillez entrez un Numéro de groupe: "
read no_groupe
export no_groupe
awk -v groupe=$no_groupe '{ if( $4==groupe)
{ printf "%-25s %-10s %14d\n", $5, $1, $3}}'
(date; cat $*)
NR==1 {print " La date d'aujourd'hui est "$1, $2, $3, $4
print "-----------------------------------------------"}
NR>1 {print" $1," ",$2}
}
SVP,Voici un script en awk dont le but est d'afficher la liste de tous les groupes et le nombre d'usagers de chaque groupe du fichier /etc/passwd (cela marche parfaitement).
Mais je voulais également inviter l'utilisateur d'insérer un Numéro de groupe et d'afficher le nom, le login et le UID de tous les usagers de ce groupe.
Le problème est qu'on me signale une erreur de syntaxe à la ligne où il y a awk-v. Quelqu'un peut m'aider à détecter mon erreur ? Merci d'avance.
#!/bin/sh
#***************************************
#script pour les informations des GID
#***************************************
awk < /etc/passwd 'BEGIN {FS=":"}\
{totaluser[$4]++}
END {for (groupe in totaluser)printf"%-20s%-20s\n",\
groupe, totaluser[groupe]}'|sort |more
awk < /etc/passwd 'BEGIN {FS=":"}
{
print "Nom Login Num_Identification"
print "--------------------------------------------------------"
echo-n " Veuillez entrez un Numéro de groupe: "
read no_groupe
export no_groupe
awk -v groupe=$no_groupe '{ if( $4==groupe)
{ printf "%-25s %-10s %14d\n", $5, $1, $3}}'
(date; cat $*)
NR==1 {print " La date d'aujourd'hui est "$1, $2, $3, $4
print "-----------------------------------------------"}
NR>1 {print" $1," ",$2}
}
A voir également:
- Awk -v : on me signale une erreur que je ne..
- Hyper-v download - Télécharger - Divers Utilitaires
- Net framework 4.0 v 30319 windows 7 - Télécharger - Divers Utilitaires
- Télécharger net framework 4.0 v 30319 windows 7 64 bit - Forum Logiciels
- Recherche v avec du texte ✓ - Forum Excel
- Fichier de gta v - Forum jeux en ligne
1 réponse
#!/bin/sh
#***************************************
#script pour les informations des GID
#***************************************
awk < /etc/passwd 'BEGIN {FS=":"}\
{totaluser[$4]++}
END { for (groupe in totaluser)printf"%-20s%-20s\n",\
groupe, totaluser[groupe]}'|sort |more
echo -n " Veuillez entrez un Numéro de groupe: "
read no_groupe
export no_groupe
printf "%s\t%s\t%s\n" "Nom" "Login" "Num_Identification"
echo "--------------------------------------------------------"
awk -v groupe=$no_groupe < /etc/passwd 'BEGIN {FS=":"}
{ if( $4==groupe)
{ printf "%s\t%s\t%s\n", $5, $1, $3}
}'
#(date; cat $*)
#NR==1 {print " La date d'aujourd'hui est "$1, $2, $3, $4
#"print "-----------------------------------------------"}
#NR>1 {print" $1," ",$2}
fonctionne déjà mieux,
pas tout testé.
Il faudrait Améliorer la pésentation (printf)
J'ai fait au plus vite :(
Johan
The software said "Requires Windows98, Win2000, or better,
So I installed Unix.
#***************************************
#script pour les informations des GID
#***************************************
awk < /etc/passwd 'BEGIN {FS=":"}\
{totaluser[$4]++}
END { for (groupe in totaluser)printf"%-20s%-20s\n",\
groupe, totaluser[groupe]}'|sort |more
echo -n " Veuillez entrez un Numéro de groupe: "
read no_groupe
export no_groupe
printf "%s\t%s\t%s\n" "Nom" "Login" "Num_Identification"
echo "--------------------------------------------------------"
awk -v groupe=$no_groupe < /etc/passwd 'BEGIN {FS=":"}
{ if( $4==groupe)
{ printf "%s\t%s\t%s\n", $5, $1, $3}
}'
#(date; cat $*)
#NR==1 {print " La date d'aujourd'hui est "$1, $2, $3, $4
#"print "-----------------------------------------------"}
#NR>1 {print" $1," ",$2}
fonctionne déjà mieux,
pas tout testé.
Il faudrait Améliorer la pésentation (printf)
J'ai fait au plus vite :(
Johan
The software said "Requires Windows98, Win2000, or better,
So I installed Unix.