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 04/07/2006, 16h15   #1
Rédacteur/Modérateur
 
Avatar de Hikage
 
Inscription : mai 2004
Messages : 1 195
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : mai 2004
Messages : 1 195
Points : 3 180
Points : 3 180
Envoyer un message via Skype™ à Hikage
Par défaut Remplacement d'une IP avec sed

Voila j'ai changer d'hébergement pour un dédié, et j'dois remplacer toutes les IP pour bind dans une 30ene de fichiers de config.


J'ai pense a faire un Find + Sed mais j'ai un leger probleme :

Code :
1
2
 
 find . -name "db.*" -exec sed ss@oldid@nouvelleip@g" {} > {}  \;
=> Ca ne marche pas, apparement sed n'aime pas lire / ecrire sur un meme fichier ( normal ).

J'ai voulu faire ceci

Code :
1
2
 
 find . -name "db.*" -exec sed "s@82\.192\.74\.174@213.251.173.153@g" {} > new\/{}  \;
Afin d'ecrire les fichiers de sortie dans un réperotire "new".

Mais résultat, j'ai un seul fichier ... qui porte le nom "{}".

Donc j'aimerai savoir s'il y a un autre moyen d'effecture ce que je cherche a faire ?
__________________
Hikage
SCJP / SCWCD & SCWSJD Certified / Spring Framework Certified
[Personal Web] [CV]

F.A.Q Spring Framework - Participez !
Hikage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2006, 16h22   #2
Membre régulier
 
Inscription : mars 2004
Messages : 106
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : mars 2004
Messages : 106
Points : 94
Points : 94
Envoyer un message via MSN à insupien Envoyer un message via Yahoo à insupien Envoyer un message via Skype™ à insupien
Citation:
Envoyé par Hikage
Code :
1
2
 
 find . -name "db.*" -exec sed "s@82\.192\.74\.174@213.251.173.153@g" {} > new\/{}  \;
Mais résultat, j'ai un seul fichier ... qui porte le nom "{}".
C normal tu fait une redirection vers le rep new et le fichier "{}".
Je te conseil de faire une boucle du genre :

Code :
1
2
3
4
5
 
for file in `find . -name "db.*"`
do
sed "s@82\.192\.74\.174@213.251.173.153@g" $file > ./new/$file.new
done
__________________
Amine
insupien est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2006, 16h34   #3
Rédacteur/Modérateur
 
Avatar de Hikage
 
Inscription : mai 2004
Messages : 1 195
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : mai 2004
Messages : 1 195
Points : 3 180
Points : 3 180
Envoyer un message via Skype™ à Hikage
Thkx
__________________
Hikage
SCJP / SCWCD & SCWSJD Certified / Spring Framework Certified
[Personal Web] [CV]

F.A.Q Spring Framework - Participez !
Hikage 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 13h47.


 
 
 
 
Partenaires

Hébergement Web