Mon problème est d'ajouter un nom d'utilisateur à un fichier, j'ai vraiment bloqué pour continuer, s'il vous plaît aider. Problème: J'ai un fichier appelé usrgrp.dat
. Le format de ce fichier est comme:Trouver et ajouter un mot à une ligne particulière en utilisant un script shell avec le format exact d'un fichier
ADMIN:srikanth,admin
DEV:dev1
TEST:test1
Je suis en train d'écrire un script shell qui devrait me donner la sortie comme:
Enter group name: DEV
Enter the username: dev2
Mon résultat attendu est:
User added to Group DEV
Si je vois le contenu de usrgrp.dat
, il devrait maintenant ressembler à:
DEV:dev1,dev2
TEST:test1
Et il devrait me donner une erreur en disant user already present
si j'essaye d'ajouter l'utilisateur déjà existant dans ce groupe. J'essaye ceci dehors avec le manuscrit suivant:
#!/bin/sh
dispgrp()
{
groupf="/home/srikanth/scm/auths/group.dat"
for gname in `cat $groupf | cut -f1 -d:`
do
echo $gname
done
echo "Enter the group name:"
read grname
for gname in `cat $groupf | cut -f1 -d:`
do
if [ "$grname" = "$gname" ]
then
echo "Enter the username to be added"
read uname
for grname in `cat $groupf`
do
$gname="$gname:$uname"
exit 1
done
fi
done
}
echo "Group display"
dispgrp
Je suis bloqué et ai besoin de votre aide valable.
merci pour votre précieuse suggestion, j'ai essayé à la fois la vôtre et la solution de Glenn. Lorsque j'ai essayé d'exécuter le script comme suggéré par vous, il se bloque après avoir accepté un nom d'utilisateur. – Srikanth
@Srikanth: Désolé, j'ai eu quelques erreurs qui sont maintenant corrigées. –
Nous vous remercions de votre aide précieuse. Il a été réparé. – Srikanth