Je sus désolé car je sais bien que c'est une FAQ, mais je n'arrive pas à
retrouver... J'ai un répertoire qui contient pas mal de fichiers, dans
lesquels j'aimerais effectuer des substitutions.
Je ne sais pas comment utiliser sed (ou perl ou autre) de façon à prendre en
entrée récursivement tous les fichiers du répertoire et à ré-écrire chaque
fichier sur lui-même en sortie...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Vincent Lefevre
Dans l'article <flo04u$2vs8$, mpg écrit:
Je ne sais pas comment utiliser sed (ou perl ou autre) de façon à prendre en entrée récursivement tous les fichiers du répertoire et à ré-écrire chaque fichier sur lui-même en sortie...
Le plus simple pour récupérer récursivement tous les fichiers (s'il n'y en a pas trop au point de dépasser les limites de ton système): **/*(^/) en zsh, et si tu as besoin aussi des fichiers et répertoires qui commencent par un point: **/*(D^/)
Sinon, il y a find + éventuellement xargs.
Pour la réécriture d'un fichier sur lui-même, tu as l'option -i de Perl (tu peux également demander un backup de l'ancien fichier, au cas où), cf les pages man...
Dans l'article <flo04u$2vs8$1@talisker.lacave.net>,
mpg <manuel.pg@free.fr> écrit:
Je ne sais pas comment utiliser sed (ou perl ou autre) de façon à
prendre en entrée récursivement tous les fichiers du répertoire et à
ré-écrire chaque fichier sur lui-même en sortie...
Le plus simple pour récupérer récursivement tous les fichiers (s'il
n'y en a pas trop au point de dépasser les limites de ton système):
**/*(^/) en zsh, et si tu as besoin aussi des fichiers et répertoires
qui commencent par un point: **/*(D^/)
Sinon, il y a find + éventuellement xargs.
Pour la réécriture d'un fichier sur lui-même, tu as l'option -i de
Perl (tu peux également demander un backup de l'ancien fichier, au
cas où), cf les pages man...
Je ne sais pas comment utiliser sed (ou perl ou autre) de façon à prendre en entrée récursivement tous les fichiers du répertoire et à ré-écrire chaque fichier sur lui-même en sortie...
Le plus simple pour récupérer récursivement tous les fichiers (s'il n'y en a pas trop au point de dépasser les limites de ton système): **/*(^/) en zsh, et si tu as besoin aussi des fichiers et répertoires qui commencent par un point: **/*(D^/)
Sinon, il y a find + éventuellement xargs.
Pour la réécriture d'un fichier sur lui-même, tu as l'option -i de Perl (tu peux également demander un backup de l'ancien fichier, au cas où), cf les pages man...
Le (on) samedi 05 janvier 2008 14:32, Vincent Lefevre a écrit (wrote) :
Le plus simple pour récupérer récursivement tous les fichiers (s'il n'y en a pas trop au point de dépasser les limites de ton système): **/*(^/) en zsh, et si tu as besoin aussi des fichiers et répertoires qui commencent par un point: **/*(D^/)
J'y avais pensé, mais je ne connaissais pas (^/) et ça m'embêtait d'attraper
aussi les répertoires.
Sinon, il y a find + éventuellement xargs.
C'est ce que j'essayais, mais j'ai du me mélanger dans la ligne de commande
sed, parce que ça faisait des trucs bizarres...
Pour la réécriture d'un fichier sur lui-même, tu as l'option -i de Perl (tu peux également demander un backup de l'ancien fichier, au cas où), cf les pages man...
En l'occurrence, j'avais déjà fait un backup de l'arborescence pour être
tranquille. Cette option -i de perl est visiblement exactement ce que je cherchais. Merci pour l'info (je ne suis pas encore très familier avec perl et n'avais donc pas bien cherché de ce côté).
En fait, la réécriture d'un fichier sur lui-même est un problème que je rencontre souvent, et à chaque fois je ne sais pas faire mieux que je passer par un fichier intermédiaire, ce que je trouve assez lourd...
Manuel.
Le (on) samedi 05 janvier 2008 14:32, Vincent Lefevre a écrit (wrote) :
Le plus simple pour récupérer récursivement tous les fichiers (s'il
n'y en a pas trop au point de dépasser les limites de ton système):
**/*(^/) en zsh, et si tu as besoin aussi des fichiers et répertoires
qui commencent par un point: **/*(D^/)
J'y avais pensé, mais je ne connaissais pas (^/) et ça m'embêtait d'attraper
aussi les répertoires.
Sinon, il y a find + éventuellement xargs.
C'est ce que j'essayais, mais j'ai du me mélanger dans la ligne de commande
sed, parce que ça faisait des trucs bizarres...
Pour la réécriture d'un fichier sur lui-même, tu as l'option -i de
Perl (tu peux également demander un backup de l'ancien fichier, au
cas où), cf les pages man...
En l'occurrence, j'avais déjà fait un backup de l'arborescence pour être
tranquille. Cette option -i de perl est visiblement exactement ce que je
cherchais. Merci pour l'info (je ne suis pas encore très familier avec perl
et n'avais donc pas bien cherché de ce côté).
En fait, la réécriture d'un fichier sur lui-même est un problème que je
rencontre souvent, et à chaque fois je ne sais pas faire mieux que je
passer par un fichier intermédiaire, ce que je trouve assez lourd...
Le (on) samedi 05 janvier 2008 14:32, Vincent Lefevre a écrit (wrote) :
Le plus simple pour récupérer récursivement tous les fichiers (s'il n'y en a pas trop au point de dépasser les limites de ton système): **/*(^/) en zsh, et si tu as besoin aussi des fichiers et répertoires qui commencent par un point: **/*(D^/)
J'y avais pensé, mais je ne connaissais pas (^/) et ça m'embêtait d'attraper
aussi les répertoires.
Sinon, il y a find + éventuellement xargs.
C'est ce que j'essayais, mais j'ai du me mélanger dans la ligne de commande
sed, parce que ça faisait des trucs bizarres...
Pour la réécriture d'un fichier sur lui-même, tu as l'option -i de Perl (tu peux également demander un backup de l'ancien fichier, au cas où), cf les pages man...
En l'occurrence, j'avais déjà fait un backup de l'arborescence pour être
tranquille. Cette option -i de perl est visiblement exactement ce que je cherchais. Merci pour l'info (je ne suis pas encore très familier avec perl et n'avais donc pas bien cherché de ce côté).
En fait, la réécriture d'un fichier sur lui-même est un problème que je rencontre souvent, et à chaque fois je ne sais pas faire mieux que je passer par un fichier intermédiaire, ce que je trouve assez lourd...
Manuel.
Stephane Chazelas
On Sat, 05 Jan 2008 14:19:26 +0100, mpg wrote:
Bonjour,
Je sus désolé car je sais bien que c'est une FAQ, mais je n'arrive pas à retrouver... J'ai un répertoire qui contient pas mal de fichiers, dans lesquels j'aimerais effectuer des substitutions.
Je ne sais pas comment utiliser sed (ou perl ou autre) de façon à prendre en entrée récursivement tous les fichiers du répertoire et à ré-écrire chaque fichier sur lui-même en sortie... [...]
Je sus désolé car je sais bien que c'est une FAQ, mais je n'arrive pas à
retrouver... J'ai un répertoire qui contient pas mal de fichiers, dans
lesquels j'aimerais effectuer des substitutions.
Je ne sais pas comment utiliser sed (ou perl ou autre) de façon à prendre en
entrée récursivement tous les fichiers du répertoire et à ré-écrire chaque
fichier sur lui-même en sortie...
[...]
Je sus désolé car je sais bien que c'est une FAQ, mais je n'arrive pas à retrouver... J'ai un répertoire qui contient pas mal de fichiers, dans lesquels j'aimerais effectuer des substitutions.
Je ne sais pas comment utiliser sed (ou perl ou autre) de façon à prendre en entrée récursivement tous les fichiers du répertoire et à ré-écrire chaque fichier sur lui-même en sortie... [...]