OVH Cloud OVH Cloud

quel outil pour changer le contenu de 3000 fichiers

17 réponses
Avatar
Une Bévue
je souhaite réorganiser un site qui a plus de 3000 fichiers, pour
pouvoir le faire il me faudrait changer le contenu de ces fichiers, par
exemple :

modifier "/global_xyz/" en "/global/xyz/"

quel outil pour ça ?
un dry run possible ?

7 réponses

1 2
Avatar
Jerome Lambert
Le 15/11/12 13:45, Une Bévue a écrit :
Le 15/11/2012 09:21, La Bete des Vosges (Francis Chartier) a écrit :
Sinon pour ce genre de modification systématique sur des fichiers textes
ou sources et à la condition qu'on supporte l'usage d terminal, awk
paraît tout à fait adapté, ou sed suivant la structure des fichiers.



OK merci pour l'info je vais regarder de ce côté là, côté outils en cli.
les fichiers sont de structure html.

Ils sont très bien balancés car produit par ruby / Nokogiry / libxml2 et
libxslt.

Il n'y a qu'une seule modification (éventuelle) par ligne :

<img src="/global_marmiton/imgInter.jpg" width="50px" height="50px"
alt="" />

deviendrait :

<img src="/global/recettes/marmiton/imgInter.jpg" width="50px"
height="50px" alt="" />

il me faut donc changer tous les "/global_marmiton/" en
"global/recettes/marmiton/" et ainsi de suite.



Pour les outils purement CLI, je te conseillerais de poser la question
sur fr.comp.os.unix, où des intervenants extrêmement compétents pourront
t'aider.
Avatar
J.P. Kuypers
In article (Dans l'article) <50a4e3f1$0$1980$,
Une Bévue wrote (écrivait) :

il me faut donc changer tous les "/global_marmiton/" en
"global/recettes/marmiton/" et ainsi de suite.



Comme déjà écrit, "BBEdit Lite 6.1 for OS X" et "TextWrangler" font
cela très bien.

--
Jean-Pierre Kuypers

Veuillez écrire les phrases dans leur con-
texte avant de changer sciemment.
Avatar
pdorange
Une Bévue wrote:

je souhaite réorganiser un site qui a plus de 3000 fichiers, pour
pouvoir le faire il me faudrait changer le contenu de ces fichiers, par
exemple :

modifier "/global_xyz/" en "/global/xyz/"

quel outil pour ça ?



Il existe aussi des solutions en GUI :

Dreamweaver par exemple le permet et le fait plutot bien, ce dernier
répercute automatiquement (c'est pas forcément rapide, surtout sur un
gros site) les changements d'arboresence et les liens (chemins) dans les
fichier HTML.

Il faut récupérer tout le site dans l'état actuel.
Créer un dossier "global" avec dedans les sous dossier qui vont bien
"xyz"... puis d'y glisser-déposer les fichiers HTML de "global°xyz" vers
"global/xyz", cela lance une mise à jour auto des contenus et chemins
dans les fichiers HTML, et continuer pour tout les sous dossiers.

--
Pierre-Alain Dorange <http://microwar.sourceforge.net/>

Ce message est sous licence Creative Commons "by-nc-sa-2.0"
<http://creativecommons.org/licenses/by-nc-sa/2.0/fr/>
Avatar
OEdipe Roi
Le 15/11/2012 17:21, Pierre-Alain Dorange a écrit :
Il existe aussi des solutions en GUI :

Dreamweaver par exemple le permet et le fait plutot bien, ce dernier
répercute automatiquement (c'est pas forcément rapide, surtout sur un
gros site) les changements d'arboresence et les liens (chemins) dans les
fichier HTML.

Il faut récupérer tout le site dans l'état actuel.
Créer un dossier "global" avec dedans les sous dossier qui vont bien
"xyz"... puis d'y glisser-déposer les fichiers HTML de "global°xyz" vers
"global/xyz", cela lance une mise à jour auto des contenus et chemins
dans les fichiers HTML, et continuer pour tout les sous dossiers.



ok, merci, j'y jetterai un oeil, c'est effectivement un pb classique
résolu par d'autes.
Avatar
Une Bévue
Le 15/11/12 16:38, Jerome Lambert a écrit :

Pour les outils purement CLI, je te conseillerais de poser la question
sur fr.comp.os.unix, où des intervenants extrêmement compétents pourront
t'aider.


oui, c'est sûr, je lis un tuto sur sed et déjà avec un petit essai je
m'aperçois que ce n'est pas évident en multibyte (UTF-8) :

.-(~/Sites/Recettes)----------------------------------------()-
`--> echo "être ou ne pas être" | sed 's/([a-z]*).*/1/'

.-(~/Sites/Recettes)----------------------------------------()-
`--> echo "etre ou ne pas etre" | sed 's/([a-z]*).*/1/'
etre
.-(~/Sites/Recettes)----------------------------------------()-
`-->

ça doit pouvoir se contourner, les regexp sont différentes de ce que je
connais.
Avatar
chips
La commande sed en ligne de commande.
Accrochez vous, c'est pour les pro !

Le 15/11/12 08:49, Une Bévue a écrit :
je souhaite réorganiser un site qui a plus de 3000 fichiers, pour
pouvoir le faire il me faudrait changer le contenu de ces fichiers, par
exemple :

modifier "/global_xyz/" en "/global/xyz/"

quel outil pour ça ?
un dry run possible ?
Avatar
Une Bévue
Le 16/11/12 11:44, chips a écrit :
La commande sed en ligne de commande.
Accrochez vous, c'est pour les pro !



ouais, j'avais, cette nuit commencé à lire un tuto sed...

je suis passé à un outil que je connais "Ruby", c'est terminé...
1 2