Rechercher : dans
Par :

Utilisation de la commande sed

Dernière réponse le 15 déc 2007 à 22:11:42 doberman91, le 15 déc 2007 à 19:51:57 
 Signaler ce message aux modérateurs

Bonjour,
je voudrais utiliser la commande sed pour rajouter une chaine de caractère à la fin d'une ligne dans un de mes fichier.

ex:
secretaire:x:1000:toto, titi, tutu
toto:x:2000:dam, bill
titi:x:3000:dagoba
prod:x:4000:earth

je voudrais rajouter à la fin d'une ligne un autre nom avec un point virgule pour le séparer.
mais je n'arrive pas a utiliser la commande sed, donc si quelqu'un pouvait me dépanner ca serait cool merci d'avance!

Meilleures réponses pour « utilisation de la commande sed » dans :
Sed - Substitution VoirSubstitution Substitution basique Simple Globale Ciblée Substitution conditionnée Simplee Avancée Bloc Avancéé Substitution basique Simple - 1ère occurrence (de chaque ligne) rencontrée uniquement sed 's/la/LA/' fichier.txt
Sed - Introduction à SED - Part II VoirSED - The Stream EDitor - Part II Ce document est une introduction à la pratique et à l'utilisation de l'éditeur de flux "SED", qui essaie de couvrir certaines fonctionnalités assez méconnues, pour ne pas dire "quasi inconnues", qui font de "SED"...
Sed - Introduction à SED - Part III VoirSED - The Stream EDitor - Part III Ce document est une introduction à la pratique et à l'utilisation de l'éditeur de flux "SED", qui essaie de couvrir certaines fonctionnalités assez méconnues, pour ne pas dire "quasi inconnues", qui font de "SED"...
Linux - Gestion des utilisateurs VoirPremier pas de l'administrateur Lorsque diverses personnes ont accès à un système, il est nécessaire que l'administrateur système gère les utilisateurs. Pour ceci, les commandes usuelles et les fichiers à configurer doivent être connus. Les...
Linux - Gestion des utilisateurs VoirPremier pas de l'administrateur Lorsque diverses personnes ont accès à un système, il est nécessaire que l'administrateur système gère les utilisateurs. Pour ceci, les commandes usuelles et les fichiers à configurer doivent être connus. Les...

1

jipicy, le 15 déc 2007 à 20:06:41

Salut,

$ cat plop
secretaire:x:1000:toto, titi, tutu
toto:x:2000:dam, bill
titi:x:3000:dagoba
prod:x:4000:earth

$ sed '/titi/ s/.*/&;doberman91/' plop

secretaire:x:1000:toto, titi, tutu;doberman91
toto:x:2000:dam, bill
titi:x:3000:dagoba;doberman91
prod:x:4000:earth
Rajoute l'option "-i.bak" pour faire une sauvegarde de ton fichier original et faire en sorte que les modifications soient effectuées sur le fichier original...
sed -i.bak '/titi/ s/.*/&;doberman91/' plop
;-))

Z'@+...che.
JP : Zen, my Nuggets ! ;-)
Le savoir n'est bon que s'il est partagé.

Répondre à jipicy

2

doberman91, le 15 déc 2007 à 20:16:26

Merci beaucoup, j'avou que je ne savasi vraiment pas comment faire!!

j'aurais une autre question, peut être pourras tu y repondre, je crée mon script pour créé un utilisateur.(je ne dois pas utiliser user add)

masi j'ai un problème pour donne rl'UID à l'utilisateur. Monscript va marcher, masi si on me supprime une ligne, alors l'UID supprimer ne sera pas réutilisé.
Si tu pouvasi m'éclaircir sur la voie a prendre , ca serait génial.

voici mon code actuel pour l'affectation de l'UID.

echo `grep -w $groupe /etc/NIS/passwd | cut -d: -f 3| sort -g >> tmp`
n=`cat tmp | wc -l`
ligne=`cat tmp`

nb_place=`expr 1000 - $n`
echo "il te reste $nb_place dans le groupe $groupe"
UserId=$groupID
for i in $ligne
do
if [ $i -gt $UserId ];
then
UserId=$i
echo $UserId
fi
if [ $UserId -gt $fin ];
then
echo "YOU LOSE"
exit 0
fi
done

UserId=`expr $UserId + 1`
echo "Le user Id utilise sera $UserId"


voila. mais si l'on supprime, l'UID ne sera plus utilisé car moi je prend l'UDI le plus grand de mon fichier password poru ceux qui font partie de tel group.
$group nom du groupe auquel il appartient et $groupID c'est le GID, je considere que mon UID est entre le GID et GID +1000

merci d'avance

Répondre à doberman91

3

doberman, le 15 déc 2007 à 21:56:14

La commande ne fonctionne pas... il me dit

sed: -e expression n°1, caractère 30: option inconnue pour `s'

Répondre à doberman

4

 jipicy, le 15 déc 2007 à 22:11:42

Tu peux afficher la commande que tu as tapée ?

Z'@+...che.

JP : Zen, my Nuggets ! ;-)
Le savoir n'est bon que s'il est partagé.

Répondre à jipicy