Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/02/2008, 17h08   #1
Membre actif
 
Avatar de je®ome
 
Inscription : octobre 2005
Messages : 285
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 285
Points : 183
Points : 183
Envoyer un message via Skype™ à je®ome
Par défaut problème avec l'utilisation de sed

Je suis tombé sur ce site en cherchant des exemples d'utilisations de la commande sed.
http://www.rtfiber.com.tw/~changyj/s...20080130a.html
Par contre, quand je l'essaie, le shell râle à tous les coups comme quoi
Citation:
invalid reference \1 on `s' command's RHS
et ainsi de suite pour les autres occurences.
Quelqu'un aurait-il une idée ?

Ma version de sed est : GNU sed version 4.1.5

Merci
__________________
Wer nicht probiert, verliert !!
je®ome est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2008, 18h37   #2
Membre actif
 
Avatar de je®ome
 
Inscription : octobre 2005
Messages : 285
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 285
Points : 183
Points : 183
Envoyer un message via Skype™ à je®ome
J'ai encore essayé un certain nombre d'exemples, mais quand je lance le script, les \1,\2 etc.. ne sont jamais acceptés.
Je ne l'avais pas dit avant, mais je suis en console bash. (dans le cas où cela change qch)

Merci
__________________
Wer nicht probiert, verliert !!
je®ome est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2008, 21h21   #3
Membre expérimenté
 
Avatar de BlaireauOne
 
Inscription : mars 2007
Messages : 469
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : mars 2007
Messages : 469
Points : 576
Points : 576
Comme cela est indiqué dans le lien, ne pas oublier de mettre l'option -r dans ton sed ou bien de mettre de '\' devant les parenthèses

Comments
The `-r' option of GNU sed must be used or you have to escape every parenthesis used.


man de sed :

Code :
1
2
3
4
5
.../...
       -r, --regexp-extended
 
              use extended regular expressions in the script.
.../...

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 
cat > nom_du_fichier <<EOD
---one---
===two words===
one more test
with digits 1234567890 and words
EOD
 
cat > fic.cmd <<EOD
s/^[^A-Za-z]*/&\n/
:loop
/\n$/!{
h
x
s/^[^\n]*\n(.).*/\1/
y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/
x
G
s/\n.([A-Za-z]*[^A-Za-z]*)([^\n]*)\n(.)/\3\1\n\2/
b loop
}
s/\n//
EOD
 
sed -r -f fic.cmd nom_du_fichier
__________________
Loi de Murphy:
La Théorie c'est quand ça ne marche pas mais que l'on sait pourquoi.
La Pratique c'est quand ça marche mais qu'on ne sait pas pourquoi.
Quand la théorie rejoint la pratique ça ne marche pas et on ne sait pas pourquoi.
BlaireauOne est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2008, 22h44   #4
Membre actif
 
Avatar de je®ome
 
Inscription : octobre 2005
Messages : 285
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 285
Points : 183
Points : 183
Envoyer un message via Skype™ à je®ome
Merci pour la réponse.
J'avais ajouté l'option -r, mais dans le script.
Et cela ne fonctionne pas.
Je n'ai pas continué à chercher et ai utilisé awk.
__________________
Wer nicht probiert, verliert !!
je®ome est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h39.


 
 
 
 
Partenaires

Hébergement Web