Commande SED , rempalcer à partir de...
Résolu/Fermé
ponpon27
Messages postés
38
Date d'inscription
jeudi 11 octobre 2007
Statut
Membre
Dernière intervention
22 novembre 2010
-
10 avril 2008 à 14:45
ponpon27 Messages postés 38 Date d'inscription jeudi 11 octobre 2007 Statut Membre Dernière intervention 22 novembre 2010 - 11 avril 2008 à 09:45
ponpon27 Messages postés 38 Date d'inscription jeudi 11 octobre 2007 Statut Membre Dernière intervention 22 novembre 2010 - 11 avril 2008 à 09:45
A voir également:
- Commande SED , rempalcer à partir de...
- Invite de commande - Guide
- Creer un groupe whatsapp a partir d'un autre groupe - Guide
- Commande terminal mac - Guide
- Annuaire portable gratuit a partir d'un nom ✓ - Forum Mobile
- Avatar facebook à partir de photo - Guide
6 réponses
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
10 avril 2008 à 14:50
10 avril 2008 à 14:50
Salut,
Un exemple plus parlant serait très apprécié...
Est-ce que les 2 chaînes se trouvent sur la même ligne ?
Un exemple plus parlant serait très apprécié...
Est-ce que les 2 chaînes se trouvent sur la même ligne ?
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
10 avril 2008 à 15:01
10 avril 2008 à 15:01
sed '/titi45/ s/\(.* titi45\).*/\1 PASSWORDX/';-))
ponpon27
Messages postés
38
Date d'inscription
jeudi 11 octobre 2007
Statut
Membre
Dernière intervention
22 novembre 2010
1
10 avril 2008 à 15:04
10 avril 2008 à 15:04
merci..ca a l'air simple pourtant..
Pourrais tu me detailler cette commande pour que je ne fasase pas QUE l'appliquer mais que je puisse la reutiliser un jour sans avoir a vous deranger encore...
Merci!!
Pourrais tu me detailler cette commande pour que je ne fasase pas QUE l'appliquer mais que je puisse la reutiliser un jour sans avoir a vous deranger encore...
Merci!!
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
10 avril 2008 à 15:13
10 avril 2008 à 15:13
Bon en fait on peut même se passer du début :
En fait on regroupe dans une sous-expression "\(...\)" tout ce qui trouve avant la chaine "titi45" (elle même comprise dans la sous-expression), puis on demande dans la partie de remplacement de substituer ce que contient la sous-expression par elle même (représentée par "\1" vu que c'est la seule, s'il y avait plusieurs sous-expressions (jusqu'à 9), chacune serait représentée par son rang) suivi par le nouveau mot de passe "PASSWORDX".
Voir SED - The Stream EDitor - Part II - Les sous-expressions
sed 's/\(.* titi45\).*/\1 PASSWORDX/'
En fait on regroupe dans une sous-expression "\(...\)" tout ce qui trouve avant la chaine "titi45" (elle même comprise dans la sous-expression), puis on demande dans la partie de remplacement de substituer ce que contient la sous-expression par elle même (représentée par "\1" vu que c'est la seule, s'il y avait plusieurs sous-expressions (jusqu'à 9), chacune serait représentée par son rang) suivi par le nouveau mot de passe "PASSWORDX".
Voir SED - The Stream EDitor - Part II - Les sous-expressions
ponpon27
Messages postés
38
Date d'inscription
jeudi 11 octobre 2007
Statut
Membre
Dernière intervention
22 novembre 2010
1
10 avril 2008 à 15:29
10 avril 2008 à 15:29
Limpide..
Et dans le cas ou titi45 serait en fait titi$serie ou serie aurait la valeur 45 ?quelle serait la nouvelle syntaxe a ce moment la? estce $serie serait reconnu comme variable ou pas?
Et dans le cas ou titi45 serait en fait titi$serie ou serie aurait la valeur 45 ?quelle serait la nouvelle syntaxe a ce moment la? estce $serie serait reconnu comme variable ou pas?
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
10 avril 2008 à 15:33
10 avril 2008 à 15:33
ponpon27
Messages postés
38
Date d'inscription
jeudi 11 octobre 2007
Statut
Membre
Dernière intervention
22 novembre 2010
1
10 avril 2008 à 15:42
10 avril 2008 à 15:42
Merci beaucoup à toi..cela fonctionne nickel...
ponpon27
Messages postés
38
Date d'inscription
jeudi 11 octobre 2007
Statut
Membre
Dernière intervention
22 novembre 2010
1
11 avril 2008 à 08:48
11 avril 2008 à 08:48
Arff ..je me suis un peu avancé endisant que cela fonctionnait..
Cela fonctionne en effet , jai bien le remplacement qui s'effectue mais....ce remplacement ne s'effectue pas QUE sur la ligne qui contient la chaine recherchée....mais sur toutes les lignes du fichiers...en fait cela me remplace TOUTES les dernieres chaines de caracteres de mon fichier par PASSWORDX..et pas seulement la chaine de cararactere recherchée...
Cela fonctionne en effet , jai bien le remplacement qui s'effectue mais....ce remplacement ne s'effectue pas QUE sur la ligne qui contient la chaine recherchée....mais sur toutes les lignes du fichiers...en fait cela me remplace TOUTES les dernieres chaines de caracteres de mon fichier par PASSWORDX..et pas seulement la chaine de cararactere recherchée...
ponpon27
Messages postés
38
Date d'inscription
jeudi 11 octobre 2007
Statut
Membre
Dernière intervention
22 novembre 2010
1
>
ponpon27
Messages postés
38
Date d'inscription
jeudi 11 octobre 2007
Statut
Membre
Dernière intervention
22 novembre 2010
11 avril 2008 à 08:49
11 avril 2008 à 08:49
Je passe de :
htpasswd titi44 PASSWORD1
htpasswd titi45 PASSWORD2
htpasswd titi46 PASSWORD3
à:
htpasswd titi44 PASSWORDX
htpasswd titi45 PASSWORDX
htpasswd titi46 PASSWORDX
htpasswd titi44 PASSWORD1
htpasswd titi45 PASSWORD2
htpasswd titi46 PASSWORD3
à:
htpasswd titi44 PASSWORDX
htpasswd titi45 PASSWORDX
htpasswd titi46 PASSWORDX
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
11 avril 2008 à 09:25
11 avril 2008 à 09:25
Re-
Poste ta ligne de commande (ou ton script) et le résultat, sans ça on peut pas voir où ça coince ;-\
Poste ta ligne de commande (ou ton script) et le résultat, sans ça on peut pas voir où ça coince ;-\
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
11 avril 2008 à 09:31
11 avril 2008 à 09:31
Pour exemple :
jp@MDK:~/tmpfs ssh$ cat plop htpasswd titi44 PASSWORD1 htpasswd titi45 PASSWORD2 htpasswd titi46 PASSWORD3 jp@MDK:~/tmpfs ssh$ serie=45 jp@MDK:~/tmpfs ssh$ echo ${serie} 45 jp@MDK:~/tmpfs ssh$ sed "s/\(.*titi${serie}\).*/\1 PASSWORDX/" plop htpasswd titi44 PASSWORD1 htpasswd titi45 PASSWORDX htpasswd titi46 PASSWORD3 jp@MDK:~/tmpfs ssh$;-))
ponpon27
Messages postés
38
Date d'inscription
jeudi 11 octobre 2007
Statut
Membre
Dernière intervention
22 novembre 2010
1
11 avril 2008 à 09:45
11 avril 2008 à 09:45
je suis un ane!!!
Ca marche effectivement tres bien merci..j'avais appeller ma variable SERIE et dans mon script j'invoquais la variable serie!! en minuscules!!
Merci bcp de ton aide précieuse...
Ca marche effectivement tres bien merci..j'avais appeller ma variable SERIE et dans mon script j'invoquais la variable serie!! en minuscules!!
Merci bcp de ton aide précieuse...
10 avril 2008 à 14:54
mon fichier comporte X lignes syntaxées comme ca:
...
htpasswd titi44 PASSWORD1
htpasswd titi45 PASSWORD2
htpasswd titi46 PASSWORD3
...
jaimerai pouvoir remplacer PASSWORD2 de la ligne contenant titi45 , et seulement celle la...par PASSWORDX