|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() |
Bonjour
Sous windows je faisais ça avec dreamweaver : il donnait la possibilité de faire un "find & replace" en choisissant un dossier et il ouvrait tous les fichiers de ce dossier et remplaçait les chaînes de caractères concernées. Sous linux je ne vois pas trop comment faire. Quel logiciel le permet ? Sinon comment puis-je me faire un petit script shell pour ça ? Merci Totofweb |
|
|
00
|
|
|
#2 |
|
Membre du Club
![]() Inscription : février 2005 Messages : 68 ![]() |
Il n'y a pas de logiciel appropriés, il faut faire un script en combinant la commande find et la commande sed.
te permet de remplacer les occurences $VAR1 par $VAR2 dans tout le fichier.... |
|
|
00
|
|
|
#3 | ||
|
Membre Expert
![]() ![]() Inscription : décembre 2002 Messages : 1 423 ![]() |
Bonsoir
Voici un petit script qui devrait correrspondre à ce que tu cherche : Code :
(si ce script est copié dans un fichier replace.sh) ./replace "toto" "titi" /tmp/dir : remplace "toto" par "titi" dans tous les fichiers de /tmp/dir et ses sous répertoires ./replace "toto" "titi" /tmp/dir/*.html : ne remplace "toto" par "titi" que dans les fichier .html de /tmp/dir et pas dans les sous répertoire. et voilou
__________________
Reportage d'Arte sur Linux |
||
|
|
00
|
|
|
#4 |
|
Nouveau Membre du Club
![]() |
Ok merci pour le script.
Je trouve quand même dommage d'avoir autant d'éditeurs mais pas un seul qui sache effectuer cette opération pourtant pas si compliquée mais fort utile. |
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() ![]() Inscription : décembre 2002 Messages : 1 423 ![]() |
mais qui a dit qu'ils ne savaient pas le faire ?
Les éditeurs vi et xemacs, par exemple, sont très puissant et je suis sure qu'en cherchant un peu dans leur commandes on doit pouvoir y arriver mais un script est si simple
__________________
Reportage d'Arte sur Linux |
|
|
00
|
|
|
#6 | ||
|
Membre Expert
![]() Frédéric Brugmans Informaticien multitâche Inscription : février 2005 Messages : 661 ![]() |
Toujours en bash, mais plus court
Code :
|
||
|
|
00
|
|
|
#7 |
![]() ![]() Ingénieur développement logiciels Inscription : mai 2002 Messages : 3 725 ![]() |
Encore plus court, à tester :
Code :
find . -name "*.cpp" | xargs sed -e s/regexp1/regexp2/ La commande xargs transmet chaque ligne de résultat de la première en commande en argument de la seconde commande 8)
__________________
Tutoriels sur les UPS, e-commerce, PHP, critiques de livres... Ce forum est fait pour vous et surtout par vous, merci d'en respecter les règles. Je n'ai rien à voir avec la société www.ovh.com ! |
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() Frédéric Brugmans Informaticien multitâche Inscription : février 2005 Messages : 661 ![]() |
Encore plus court ... mais qui ne fait pas la meme chose
|
|
|
00
|
|
|
#9 |
|
Membre Expert
![]() ![]() Inscription : décembre 2002 Messages : 1 423 ![]() |
le script que j'ai proposé n'est pas beaucoup plus long que les autres si on enlève les commentaires
De plus si on enlève la sauvegarde du fichier d'origine et la suppression du fichier temporaire il n'y a plus aucune différence becket >> le .bak de ton script n'est pas la sauvegarde du fichier d'origine
__________________
Reportage d'Arte sur Linux |
|
|
00
|
|
|
#10 | ||||
|
Membre Expert
![]() ![]() Inscription : décembre 2002 Messages : 1 423 ![]() |
Voici la commande pour le faire sous un éditeur, au hasard vi
ouvrir vi : Citation:
Citation:
Citation:
Citation:
__________________
Reportage d'Arte sur Linux |
||||
|
|
00
|
|
|
#11 | |
|
Membre Expert
![]() Frédéric Brugmans Informaticien multitâche Inscription : février 2005 Messages : 661 ![]() |
Citation:
2 - Pourquoi faire une copie de sauvegarde d'un fichier que l'on ne modifie pas ... On cree un nouveau fichier qui est modifié. |
|
|
|
00
|
|
|
#12 | |||
|
Membre Expert
![]() ![]() Inscription : décembre 2002 Messages : 1 423 ![]() |
Citation:
Code :
Dans ton script $i et ${i}.bak ont les même donnée, non ?
__________________
Reportage d'Arte sur Linux |
|||
|
|
00
|
|
|
#13 | |||
|
Membre Expert
![]() Frédéric Brugmans Informaticien multitâche Inscription : février 2005 Messages : 661 ![]() |
Citation:
Citation:
|
|||
|
|
00
|
|
|
#14 | |||
|
Futur Membre du Club
![]() Inscription : novembre 2003 Messages : 38 ![]() |
Citation:
Et si on ne veut remplacer que le mot entier ? Par exemple remplacer tous les "normal" par "Normal" (donc pas dans "normalIndex" par exemple) |
|||
|
|
00
|
|
|
#15 |
|
Futur Membre du Club
![]() Inscription : novembre 2003 Messages : 38 ![]() |
bon finalement j'ai trouvé, ct pas tres dur mais ca fais longtemps que j'ai pas touché à ca... j'ai donc utilisé "\ Expression\ " pour ne trouver que mon mot entier.
A + |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com