Sed et les occurences
Résolu/Fermé
gaston77
Messages postés
489
Date d'inscription
dimanche 4 novembre 2007
Statut
Membre
Dernière intervention
10 avril 2011
-
26 déc. 2010 à 23:45
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 27 déc. 2010 à 01:11
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 27 déc. 2010 à 01:11
A voir également:
- Sed et les occurences
- Remplacez le mot sed par le mot mais dans tout le texte. combien de caractères contient le document suite à cette modification (en incluant les espaces) ? - Guide
- Sed crlf - Astuces et Solutions
- Comptage des caractères dans Word ✓ - Forum Word
- Sed supprimer ligne vide - Forum Linux / Unix
- Sed windows - Forum Linux / Unix
8 réponses
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
26 déc. 2010 à 23:56
26 déc. 2010 à 23:56
Salut,
sed -n '2 s,.*<password>\(.*\)</password>,\1,p' fichier
gaston77
Messages postés
489
Date d'inscription
dimanche 4 novembre 2007
Statut
Membre
Dernière intervention
10 avril 2011
34
27 déc. 2010 à 00:00
27 déc. 2010 à 00:00
Bonsoir,
Malheureusement, cette commande ne renvoie rien chez moi ...
Malheureusement, cette commande ne renvoie rien chez moi ...
seb@serveur:~$ sed -n '2 s,.*<password>\(.*\)</password>,\1,p' serveurTM/GameData/Config/dedicated_cfg.txt seb@serveur:~$
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
27 déc. 2010 à 00:01
27 déc. 2010 à 00:01
Re,
Alors fait voir ton fichier ou mets le sur cjoint
Alors fait voir ton fichier ou mets le sur cjoint
gaston77
Messages postés
489
Date d'inscription
dimanche 4 novembre 2007
Statut
Membre
Dernière intervention
10 avril 2011
34
27 déc. 2010 à 00:07
27 déc. 2010 à 00:07
Bonsoir,
Voici le fichier original (traité par la suite par un script pour le remplacement de certaines données)
https://www.cjoint.com/?0mBaePeCOKF
Merci.
Voici le fichier original (traité par la suite par un script pour le remplacement de certaines données)
https://www.cjoint.com/?0mBaePeCOKF
Merci.
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
Modifié par lami20j le 27/12/2010 à 00:31
Modifié par lami20j le 27/12/2010 à 00:31
D'après ce que j'ai compris tu veux obtenir A_PASSWORD ?
Donc le 2ème?
Donc le 2ème?
gaston77
Messages postés
489
Date d'inscription
dimanche 4 novembre 2007
Statut
Membre
Dernière intervention
10 avril 2011
34
27 déc. 2010 à 00:41
27 déc. 2010 à 00:41
Sur le principe oui.
En réalité, à un moment où a un autre, je vais avoir besoin de récupérer autre chose que celui-là. Pour le moment, celui qui m'intéresse le plus c'est "MON_PASSWORD". Mais je vais aussi avoir besoin de récupérer "SA_PASSWORD" ainsi que mettre un mot de passe dans le champ :
<password></password>
qui est vide. Sachant que la place de ces champs ne bougent pas (le mot de passe SA est toujours le premier, le Admin est toujours le 2nd ....) et que je ne connais pas ce qui se trouve entre ces balises "password".
Je ne sais pas si tu as compris ...
En réalité, à un moment où a un autre, je vais avoir besoin de récupérer autre chose que celui-là. Pour le moment, celui qui m'intéresse le plus c'est "MON_PASSWORD". Mais je vais aussi avoir besoin de récupérer "SA_PASSWORD" ainsi que mettre un mot de passe dans le champ :
<password></password>
qui est vide. Sachant que la place de ces champs ne bougent pas (le mot de passe SA est toujours le premier, le Admin est toujours le 2nd ....) et que je ne connais pas ce qui se trouve entre ces balises "password".
Je ne sais pas si tu as compris ...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
Modifié par lami20j le 27/12/2010 à 00:52
Modifié par lami20j le 27/12/2010 à 00:52
Re,
Par exemple pour récupération
GNU/Linux:Linux is Not Ubuntu! Quel linux choisir ne veut pas dire votre Distribution préférée,
106485010510997108
Par exemple pour récupération
:~$ sed -n '/>Admin/{n;s/.*>\(.*\)<.*/\1/;p;}' dedicated_cfg.txt A_PASSWORD r:~$ sed -n '/SuperAdmin/{n;s/.*>\(.*\)<.*/\1/;p;}' dedicated_cfg.txt SA_PASSWORD r:~$ sed -n '/User/{n;s/.*>\(.*\)<.*/\1/;p;}' dedicated_cfg.txt U_PASSWORD :~$ sed -n '/MON_LOGIN/{n;s/.*>\(.*\)<.*/\1/;p;}' dedicated_cfg.txt MON_PASSWORD
GNU/Linux:Linux is Not Ubuntu! Quel linux choisir ne veut pas dire votre Distribution préférée,
106485010510997108
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
27 déc. 2010 à 00:56
27 déc. 2010 à 00:56
Re,
Et pour mettre un mot de passe ici (si j'ai bien compris)
Et pour mettre un mot de passe ici (si j'ai bien compris)
<max_players>PLAYERS</max_players> <password></password>tu peux faire par exemple
sed -i.orig '/PLAYERS/{n;s/\(.*>\)\(.*\)\(<.*\)/\1NEWPASS\3/}' dedicated_cfg.txt
gaston77
Messages postés
489
Date d'inscription
dimanche 4 novembre 2007
Statut
Membre
Dernière intervention
10 avril 2011
34
Modifié par gaston77 le 27/12/2010 à 01:05
Modifié par gaston77 le 27/12/2010 à 01:05
Et en plus tu répond à ma question avant que je n'ai pu m'y pencher.
Un très grand merci !
Un très grand merci !
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
27 déc. 2010 à 01:06
27 déc. 2010 à 01:06
Ben, chez moi ça marche. Voici le test
~$ sed -n '/PLAYERS/{n;s/.*>\(.*\)<.*/\1/;p;}' dedicated_cfg.txt ~$ sed -i.orig '/PLAYERS/{n;s/\(.*>\)\(.*\)\(<.*\)/\1NEWPASS\3/}' dedicated_cfg.txt ~$ sed -n '/PLAYERS/{n;s/.*>\(.*\)<.*/\1/;p;}' dedicated_cfg.txt NEWPASS ~$ sed -n '/PLAYERS/{n;s/.*>\(.*\)<.*/\1/;p;}' dedicated_cfg.txt.orig ~$
gaston77
Messages postés
489
Date d'inscription
dimanche 4 novembre 2007
Statut
Membre
Dernière intervention
10 avril 2011
34
Modifié par gaston77 le 27/12/2010 à 01:12
Modifié par gaston77 le 27/12/2010 à 01:12
Oui effectivement, mais c'est juste que moi, je ne teste pas avec l'original et j'ai une autre valeur à la place de PLAYERS. Mais j'ai changé et ça marche en fait.
Je ne pensais pas que tu allais le lire entre le moment où je l'ai écris et modifier.
Mais ça marche, c'est le principal.
Merci.
Je ne pensais pas que tu allais le lire entre le moment où je l'ai écris et modifier.
Mais ça marche, c'est le principal.
Merci.
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
27 déc. 2010 à 01:11
27 déc. 2010 à 01:11
De rien ;-)
Bonne continuation.
Bonne continuation.
gaston77
Messages postés
489
Date d'inscription
dimanche 4 novembre 2007
Statut
Membre
Dernière intervention
10 avril 2011
34
Modifié par gaston77 le 27/12/2010 à 01:01
Modifié par gaston77 le 27/12/2010 à 01:01
C'est exactement ce qu'il me fallait.
Cependant, j'ai un petite question (je ne comprend pas la totalité de la ligne de commande mais je pense avoir compris le principe qui est de rechercher un mot "MON_LOGIN" par exeple et de chercher ce qu'il y a en dessous ?) :
Tu as mis :
Alors que dans les autres commandes, le chevron n'est pas présent. Pourquoi ? Faute de frappe ?
En tout cas, merci beaucoup !
Occupez vous de mes amis. Pour ce qui est de mes ennemis, je m'en charge.
Cependant, j'ai un petite question (je ne comprend pas la totalité de la ligne de commande mais je pense avoir compris le principe qui est de rechercher un mot "MON_LOGIN" par exeple et de chercher ce qu'il y a en dessous ?) :
Tu as mis :
sed -n '/>Admin/{n;s/.*>\(.*\)<.*/\1/;p;}' dedicated_cfg.txt
Alors que dans les autres commandes, le chevron n'est pas présent. Pourquoi ? Faute de frappe ?
En tout cas, merci beaucoup !
Occupez vous de mes amis. Pour ce qui est de mes ennemis, je m'en charge.
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
Modifié par lami20j le 27/12/2010 à 01:10
Modifié par lami20j le 27/12/2010 à 01:10
Re,
Le chevron je l'ai utilisé puisque si j'aurais mis juste Admin c'est toujours SuperAdmin qui aurait été reconnu. Comme ça j'oblige la regex de reconnaître le motif >Admin
Le chevron je l'ai utilisé puisque si j'aurais mis juste Admin c'est toujours SuperAdmin qui aurait été reconnu. Comme ça j'oblige la regex de reconnaître le motif >Admin
gaston77
Messages postés
489
Date d'inscription
dimanche 4 novembre 2007
Statut
Membre
Dernière intervention
10 avril 2011
34
Modifié par gaston77 le 27/12/2010 à 01:07
Modifié par gaston77 le 27/12/2010 à 01:07
Ahhhhhhhhhhhh bah oui effectivement.
Encore merci ;)
Occupez vous de mes amis. Pour ce qui est de mes ennemis, je m'en charge.
Encore merci ;)
Occupez vous de mes amis. Pour ce qui est de mes ennemis, je m'en charge.