Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 22/04/2008, à 10:48

JérémieR

[Résolu] Probleme avec sed

Bonjour à tous,
j'essaye d'effectuer une substitution ave la commande sed. Malheureusement celle ci ne fonctionne pas lorsque je suis en bash mais elle fonctionne avec sh. Il faut impérativement que je le fasse fonctionner avec bash.
Si quelqu'un a une idée.
Merci d'avance.

#!/bin/bash

cp index.txt index.txt.old
ls
cat index.txt.old | sed -r s/\([0-9]{1,3}\.\){3}[0-9]{1,3}/"172.165.2.3"/ > index.txt

exit 0

Dernière modification par JérémieR (Le 22/04/2008, à 12:31)

Hors ligne

#2 Le 22/04/2008, à 12:15

best_friend_fr

Re : [Résolu] Probleme avec sed

Salut
Tu as essayé d'échapper les guillemets ?


sudo apt-get replace langage_sms by grammaire orthographe ponctuation
La documentation est avant tout faite pour ceux qui posent les questions, et non ceux qui y répondent
Best_friend_fr

Hors ligne

#3 Le 22/04/2008, à 12:21

JérémieR

Re : [Résolu] Probleme avec sed

Oui et j'ai toujours le même problème:

sed: impossible de lire s/([0-9]1.){3}[0-9]3/"172.165.2.3"/: Aucun fichier ou répertoire de ce type
sed: impossible de lire s/([0-9]3.){3}[0-9]1/"172.165.2.3"/: Aucun fichier ou répertoire de ce type
sed: impossible de lire s/([0-9]3.){3}[0-9]3/"172.165.2.3"/: Aucun fichier ou répertoire de ce type

Hors ligne

#4 Le 22/04/2008, à 12:24

wilyjean

Re : [Résolu] Probleme avec sed

Salut,

Avec cela, il y a pas de problème chez moi!

cat index.txt.old | sed -e 's/\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}/172.165.2.3/g'

Hors ligne

#5 Le 22/04/2008, à 12:31

JérémieR

Re : [Résolu] Probleme avec sed

Et bien merci wilyjean, ça marche par contre peut tu m'expliquer pourquoi tu a mis l'option "e" à la palce de "r". Il me semblait que pour utiliser les expressions régulières, il fallait le "r".
Encore merci

Hors ligne

#6 Le 22/04/2008, à 12:46

wilyjean

Re : [Résolu] Probleme avec sed

Pour le -e, j'ai toujours fais de cette manière, donc je me suis j'amais vraiment posé la question mais c'est vrai qu'il y a une option -r dans le man.

Enfin, dans ton cas, l'option -e n'est pas nécessaire car il y a qu'une seule instruction et l'utilisation de cat n'est pas nécessaire.


sed 's/\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}/172.165.2.3/g' index.txt.old

Hors ligne

#7 Le 22/04/2008, à 12:49

JérémieR

Re : [Résolu] Probleme avec sed

D'accord, mais c'est une partie d'un programme et j'ai bessoin de faire le cat quand je remet cette partie dans le programme.
Encore une fois merci. wink

Hors ligne

#8 Le 22/04/2008, à 23:34

Link31

Re : [Résolu] Probleme avec sed

Plutôt que de copier ton fichier index.txt dans index.txt.old, tu devrais essayer l'option -i de sed.

Hors ligne

#9 Le 23/04/2008, à 07:16

JérémieR

Re : [Résolu] Probleme avec sed

Oui j'y ai pensé. Mais pour la phase de test, je préférai avoir une sauvegarde de mon fichier.
Merci tout de même. wink

Hors ligne