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 11/07/2007, 10h31   #1
Invité de passage
 
Inscription : juillet 2007
Messages : 1
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 1
Points : 1
Points : 1
Par défaut script shell regexp

Bonjour, je vousdrais faire un petit script shell pour remplacer le mot "int" par "CT_INT32" dans un groupe de fichier.

J'ai essayé de faire quelque chose avec find et sed :

Code :
1
2
3
4
5
6
7
8
9
10
11
 
#!/bin/sh
 
if [ "$1" = "" ]; then
	echo " indiquez un repertoire "
	exit
fi
 
path=$1
 
find ${path} -type f -exec sed -i 's/([[:space:]]|\()int([[:space:]]|\))/ CT_INT32 /g' {} \;
apparement ca bloque au niveau des parentheses mais je ne vois pas pourquoi, quelqu'un pour m'aider ?
ju_bi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2007, 13h15   #2
LLB
Membre Expert
 
Inscription : mars 2002
Messages : 946
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 946
Points : 1 085
Points : 1 085
Le sujet est marqué comme Résolu. C'est le cas ?

Dans le doute, je te suggère d'indiquerà Sed que tu utilises les expressions rationnelles étendues (option -r la plupart du temps ; -E sur certains Sed).

Par ailleurs, fais gaffe : s'il y a une parenthèse à côté d'un int, elle va matcher et sera supprimée. Si tu veux la garder, pense à réutiliser \1 et \2 dans la partie droite.

À part ça, ça m'a l'air plutôt correct.
LLB 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 09h38.


 
 
 
 
Partenaires

Hébergement Web