Casse tête
Résolu/Fermé
le dard
-
25 janv. 2009 à 14:55
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 26 janv. 2009 à 19:08
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 26 janv. 2009 à 19:08
A voir également:
- Casse tête
- Casse-tête avec des allumettes - Télécharger - Jeux vidéo
- Ecran tele cassé - Forum TV & Vidéo
- Remplacer tete sur photo - Guide
- Whatsapp telephone cassé ✓ - Forum WhatsApp
- Un mot est caché dans l'en-tête du document. pour le trouver, modifiez sa couleur. ✓ - Forum Word
7 réponses
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
25 janv. 2009 à 15:10
25 janv. 2009 à 15:10
Salut,
Si ton répertoire contiens que des fichiers texte
L'option -i.orig permet de sauvegarder les fichiers originaux avec l'extension .orig.
La modification se fera sur place
Dans un terminal tape
Si ton répertoire contiens que des fichiers texte
L'option -i.orig permet de sauvegarder les fichiers originaux avec l'extension .orig.
La modification se fera sur place
Dans un terminal tape
sed -i.orig 's/toto/tata/g' /chemin/vers/courrier/*
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
25 janv. 2009 à 23:16
25 janv. 2009 à 23:16
Salut,
$ find /home/lami20j/trash/dard -type f -name '*.html' -print -exec cat {} \; /home/lami20j/trash/dard/c/fic.html toto /home/lami20j/trash/dard/c/fic3.html toto /home/lami20j/trash/dard/b/fic2.html toto /home/lami20j/trash/dard/b/fic.html toto /home/lami20j/trash/dard/a/fic4.html toto /home/lami20j/trash/dard/a/fic.html toto $ find /home/lami20j/trash/dard -type f -name '*.html' -exec sed -i.orig 's/toto/tata/' {} \; $ find /home/lami20j/trash/dard -type f -name '*.html' -print -exec cat {} \; /home/lami20j/trash/dard/c/fic.html tata /home/lami20j/trash/dard/c/fic3.html tata /home/lami20j/trash/dard/b/fic2.html tata /home/lami20j/trash/dard/b/fic.html tata /home/lami20j/trash/dard/a/fic4.html tata /home/lami20j/trash/dard/a/fic.html tata $ find /home/lami20j/trash/dard -type f -name '*.html.orig' -print -exec cat {} \; /home/lami20j/trash/dard/c/fic3.html.orig toto /home/lami20j/trash/dard/c/fic.html.orig toto /home/lami20j/trash/dard/b/fic2.html.orig toto /home/lami20j/trash/dard/b/fic.html.orig toto /home/lami20j/trash/dard/a/fic.html.orig toto /home/lami20j/trash/dard/a/fic4.html.orig toto
Bonsoir Lami,
Houlà c'est un peu compliqué pour moi te serait-il possible sans vouloir te prendre ton temps de me réécrire ta manip avec le nom de mes fichiers:
Le répertoire principal se nomme: Boutique
Les sous répertoires se nomment respectivement: rayon1, rayon2 et rayon3 etc...
les fichiers se nomment respectivement tous : index.htm
Merci d'avance car je suis bien loin d'être un crac en la matière; je comprends vite mais faut m'expliquer lentement :=)
Houlà c'est un peu compliqué pour moi te serait-il possible sans vouloir te prendre ton temps de me réécrire ta manip avec le nom de mes fichiers:
Le répertoire principal se nomme: Boutique
Les sous répertoires se nomment respectivement: rayon1, rayon2 et rayon3 etc...
les fichiers se nomment respectivement tous : index.htm
Merci d'avance car je suis bien loin d'être un crac en la matière; je comprends vite mais faut m'expliquer lentement :=)
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
25 janv. 2009 à 23:46
25 janv. 2009 à 23:46
Re,
find /chemin/Boutique -name '*index.htm' -exec sed -i.orig 's/toto/tata/' {} \;
Bonjour
Les réponses ci-dessus ont apporté une réelle solution à mes interrogations: merci lami..
Cependant, Je relance mon casse tête avec une demande similaire.. au risque de passer pour un nul de chez nul (ce que je suis pour l'instant je l'avoue). 2 Manip me seraient grandement utiles:
1/- je suis donc avec la configuration de fichiers suivante:
Le répertoire principal se nomme: Boutique
Les sous répertoires se nomment respectivement: rayon1, rayon2 et rayon3 etc...
les fichiers se nomment respectivement tous cette fois : images_nourriture.jpg
Je souhaiterai renommer ces fichiers images_nourriture.jpg en image1.jpg
2/- je reviens sur ma configuration de base:
Le répertoire principal se nomme: Boutique
Les sous répertoires se nomment respectivement: rayon1, rayon2 et rayon3 etc...
les fichiers se nomment respectivement tous : index.htm
je souhaite supprimer une expression commune à tous ces fichiers sans la remplacer
Merci de vos lumières et pour le temps que je vous prends, j'en suis conscient
C'est tellement super de pouvoir se faire aider de la sorte.. je n'en reviens toujours pas !
afin de ne pas voler votre temps, j'ai quand même essayé de trouver une explication qui existerait déjà mais la seule que j'ai trouvée je ne sais pas l'interpréter car c'est pour des matheux entre eux !!
Alors lami, je viens une nouvelle fois appeler à l'aide..
Les réponses ci-dessus ont apporté une réelle solution à mes interrogations: merci lami..
Cependant, Je relance mon casse tête avec une demande similaire.. au risque de passer pour un nul de chez nul (ce que je suis pour l'instant je l'avoue). 2 Manip me seraient grandement utiles:
1/- je suis donc avec la configuration de fichiers suivante:
Le répertoire principal se nomme: Boutique
Les sous répertoires se nomment respectivement: rayon1, rayon2 et rayon3 etc...
les fichiers se nomment respectivement tous cette fois : images_nourriture.jpg
Je souhaiterai renommer ces fichiers images_nourriture.jpg en image1.jpg
2/- je reviens sur ma configuration de base:
Le répertoire principal se nomme: Boutique
Les sous répertoires se nomment respectivement: rayon1, rayon2 et rayon3 etc...
les fichiers se nomment respectivement tous : index.htm
je souhaite supprimer une expression commune à tous ces fichiers sans la remplacer
Merci de vos lumières et pour le temps que je vous prends, j'en suis conscient
C'est tellement super de pouvoir se faire aider de la sorte.. je n'en reviens toujours pas !
afin de ne pas voler votre temps, j'ai quand même essayé de trouver une explication qui existerait déjà mais la seule que j'ai trouvée je ne sais pas l'interpréter car c'est pour des matheux entre eux !!
Alors lami, je viens une nouvelle fois appeler à l'aide..
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
26 janv. 2009 à 15:28
26 janv. 2009 à 15:28
Salut,
Une possibilité.
J'ai mis cp puisque je n'ai pas un environnement de test.
Comme ça tu ne risque pas de perdre les fichiers.
Pareil pour l'option i pour ne pas écraser un fichier existant.
Si tous vas bien tu peux remplacer cp -vi avec mv -v
Mais je ne comprends pas.
Tu as plusieurs fichiers avec le même nom dans plusierus répertoires? C'est bien ça?
Une possibilité.
J'ai mis cp puisque je n'ai pas un environnement de test.
Comme ça tu ne risque pas de perdre les fichiers.
Pareil pour l'option i pour ne pas écraser un fichier existant.
Si tous vas bien tu peux remplacer cp -vi avec mv -v
for i in $(find /chemin/Boutique -name '*images_nourriture.jpg');do cp -iv $i dirname($i)/image1.jpg;done
Mais je ne comprends pas.
Tu as plusieurs fichiers avec le même nom dans plusierus répertoires? C'est bien ça?
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
>
le dard
26 janv. 2009 à 17:36
26 janv. 2009 à 17:36
Re,
Regarde le message 9 ;-)
Regarde le message 9 ;-)
lami,
J'ai essayé cette commande selon ce que vous m'écrivez plus haut mais j'ai un message d'erreur. ai-je mal écrit ?
for i in $(find boutique/ -name '*image_nourriture.jpg');do cp -iv $i dirname($i)/image1.jpg:done
-bash: erreur de syntaxe près du jeton `(' inattendu
dans ce pb, il s'agit de renommer des fichiers qui se situent dans différents répertoires et sous répertoire du dossier (répertoire)Boutique
Merci
J'ai essayé cette commande selon ce que vous m'écrivez plus haut mais j'ai un message d'erreur. ai-je mal écrit ?
for i in $(find boutique/ -name '*image_nourriture.jpg');do cp -iv $i dirname($i)/image1.jpg:done
-bash: erreur de syntaxe près du jeton `(' inattendu
dans ce pb, il s'agit de renommer des fichiers qui se situent dans différents répertoires et sous répertoire du dossier (répertoire)Boutique
Merci
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 896
>
le dard
26 janv. 2009 à 18:17
26 janv. 2009 à 18:17
Il y a une erreur dans la syntaxe à ce niveau :
do cp -iv $i dirname($i)/image1.jpgIl faut écrire :
do cp -iv $i $(dirname $i)/image1.jpglami20j l'avait d'ailleurs bien écrit là en-dessous ;-\
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
>
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
26 janv. 2009 à 18:21
26 janv. 2009 à 18:21
Salut,
Merci ;-))
Merci ;-))
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
26 janv. 2009 à 16:42
26 janv. 2009 à 16:42
Re,
Voici la bonne commande
Voici la bonne commande
$ for i in $(find Boutique -name '*images_nourriture.jpg');do echo $i;done Boutique/c/images_nourriture.jpg Boutique/b/images_nourriture.jpg Boutique/a/images_nourriture.jpg $ for i in $(find Boutique -name '*images_nourriture.jpg');do mv -v $i $(dirname $i)/image1.jpg;done `Boutique/c/images_nourriture.jpg' -> `Boutique/c/image1.jpg' `Boutique/b/images_nourriture.jpg' -> `Boutique/b/image1.jpg' `Boutique/a/images_nourriture.jpg' -> `Boutique/a/image1.jpg' $ for i in $(find Boutique -name '*images_nourriture.jpg');do echo $i;done $ for i in $(find Boutique -name '*image1.jpg');do echo $i;done Boutique/c/image1.jpg Boutique/b/image1.jpg Boutique/a/image1.jpg
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
>
ledard
26 janv. 2009 à 19:08
26 janv. 2009 à 19:08
Re,
Je vais essayer de régler le second pb
Déjà fait ;-) Regarde là http://www.commentcamarche.net/forum/affich 10687602 casse tete?#16
Je vais essayer de régler le second pb
Déjà fait ;-) Regarde là http://www.commentcamarche.net/forum/affich 10687602 casse tete?#16
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
26 janv. 2009 à 16:44
26 janv. 2009 à 16:44
Re,
je souhaite supprimer une expression commune à tous ces fichiers sans la remplacer
Quelle expression?!
je souhaite supprimer une expression commune à tous ces fichiers sans la remplacer
Quelle expression?!
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
26 janv. 2009 à 18:20
26 janv. 2009 à 18:20
Re,
Je n'ai pas supprimé les lignes contenant l'expression puisque je ne sais pas ce que tes fichiers contiennent.
Donc tu verras dans l'exemple qu'au lieu de tes expressions il n'y a plus rien.
Toutefois les blancs resteront.
Je n'ai pas supprimé les lignes contenant l'expression puisque je ne sais pas ce que tes fichiers contiennent.
Donc tu verras dans l'exemple qu'au lieu de tes expressions il n'y a plus rien.
Toutefois les blancs resteront.
$ find Boutique/ -name '*index.htm' Boutique/c/index.htm Boutique/b/index.htm Boutique/a/index.htm $ find Boutique/ -name '*index.htm' -print -exec cat {} \; Boutique/c/index.htm Poireaux de France Mandarines du Maroc bla bla Boutique/b/index.htm Mandarines du Maroc bla bla Boutique/a/index.htm Poireaux de France bla bla $ find Boutique/ -name '*index.htm' -exec sed -i.orightm 's/Poireaux de France\|Mandarines du Maroc//g' {} \; $ find Boutique/ -name '*index.htm' -print -exec cat {} \; Boutique/c/index.htm bla bla Boutique/b/index.htm bla bla Boutique/a/index.htm bla bla $ find Boutique/ -name '*index.htm.orig*' -print -exec cat {} \; Boutique/c/index.htm.orightm Poireaux de France Mandarines du Maroc bla bla Boutique/b/index.htm.orightm Mandarines du Maroc bla bla Boutique/a/index.htm.orightm Poireaux de France bla bla
25 janv. 2009 à 23:05
Merci Lami, tu m'as enlevé une bonne épine du pied ce qui m'a fait gagné du temps.
Juste une précision: A la suite de cela, je me suis retrouvé avec un fichier en doublon qui lui se terminait par l'extension .orig et comme j'ai fait plusieurs fois la manip pour remplacer d'autres chaines de caractères, il a créé des .orig.orig.orig etc.. autant de fichiers que j'ai fait de manips.
Bon ce n'est pas grave car j'ai fait un rm *.orig et le pb a été réglé..
J'ai une question maintenant similaire à poser:
J'ai un répertoire avec des sous-répertoires qui contiennent chacuns des fichiers.html dans lesquels je voudrai modifier une chaine de caractères. Comment dois-je modifier la commande
sed -i.orig 's/toto/tata/g' /chemin/vers/courrier/*
Merci d'avance pour toute réponse
Le Dard