Re: find d'un répertoire et supprimer une expression dans des fichiers
On Wednesday 16 October 2013 17:44:39 Philippe Gras wrote: > OK, tournons la question avec un autre exemple que /var > Moi aussi, ça m'intéresse ce truc :-) Merci. Ça marche très bien : $ egrep -lR "" /home/andre/essai/ | xargs -d '\n' -n 1 sed -i 's///g' > Le 16 oct. 13 à 15:59, Dominique Asselineau a écrit : > > Sébastien NOBILI wrote on Wed, Oct 16, 2013 at 03:11:39PM +0200 > >> Quelque chose comme ça ? > >> find /var -type f -exec sed -i 's///g' {} \; > >> Je te conseille de tester ta commande dans un dossier moins > >> sensible que /var > >> avant de te lancer (et p'têt aussi de t'assurer que tu as une > >> bonne sauvegarde > >> dans un coin???). > > Et ça n'est pas du tout sûr que ce soit suffisant. Le /var contient > > des choses dynamiques, notamment si un serveur SQL tourne avec le > > risque de désynchroniser les fichiers et ce que contient le cache du > > dit serveur. Et il y a peut-être d'autres daemons qui pourraient être > > « impactés » ? Bref, ça me paraît bien téméraire de lancer une telle > > commande globalement sur tout /var. > > dom Merci de me prévenir, je vais faire très attention en me limitant à des sous-répertoires de /var/ ... andré -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/fr/FrenchLists Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe" vers debian-user-french-requ...@lists.debian.org En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org Archive: http://lists.debian.org/201310161900.12696.andre_deb...@numericable.fr
Re: find d'un répertoire et supprimer une expression dans des fichiers
OK, tournons la question avec un autre exemple que /var Moi aussi, ça m'intéresse ce truc :-) Le 16 oct. 13 à 15:59, Dominique Asselineau a écrit : Sébastien NOBILI wrote on Wed, Oct 16, 2013 at 03:11:39PM +0200 Bonjour, Le mercredi 16 octobre 2013 à 14:48, andre_deb...@numericable.fr a écrit : Soit un modèle comme ceci : - find /var -exec egrep -n "" {} \; -print; - cat fichier | grep -n - sed -i 's///g' fichier Quelque chose comme ça ? find /var -type f -exec sed -i 's///g' {} \; Je te conseille de tester ta commande dans un dossier moins sensible que /var avant de te lancer (et p'têt aussi de t'assurer que tu as une bonne sauvegarde dans un coin???). Et ça n'est pas du tout sûr que ce soit suffisant. Le /var contient des choses dynamiques, notamment si un serveur SQL tourne avec le risque de désynchroiser les fichiers et ce que contient le cache du dit serveur. Et il y a peut-être d'autres daemons qui pourraient être « impactés » ? Bref, ça me paraît bien téméraire de lancer une telle commande globalement sur tout /var. dom -- -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/fr/FrenchLists Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe" vers debian-user-french-requ...@lists.debian.org En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org Archive: http://lists.debian.org/20131016135951.GC15973@telecom- paristech.fr -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/fr/FrenchLists Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe" vers debian-user-french-requ...@lists.debian.org En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org Archive: http://lists.debian.org/97bf1b3f-fb7f-4003-a753-6199d6363...@worldonline.fr
Re: find d'un répertoire et supprimer une expression dans des fichiers
Sébastien NOBILI wrote on Wed, Oct 16, 2013 at 03:11:39PM +0200 > Bonjour, > > Le mercredi 16 octobre 2013 à 14:48, andre_deb...@numericable.fr a écrit : > > Soit un modèle comme ceci : > > - find /var -exec egrep -n "" {} \; -print; > > - cat fichier | grep -n > > - sed -i 's///g' fichier > > Quelque chose comme ça ? > find /var -type f -exec sed -i 's///g' {} \; > > Je te conseille de tester ta commande dans un dossier moins sensible que /var > avant de te lancer (et p'têt aussi de t'assurer que tu as une bonne sauvegarde > dans un coin???). Et ça n'est pas du tout sûr que ce soit suffisant. Le /var contient des choses dynamiques, notamment si un serveur SQL tourne avec le risque de désynchroiser les fichiers et ce que contient le cache du dit serveur. Et il y a peut-être d'autres daemons qui pourraient être « impactés » ? Bref, ça me paraît bien téméraire de lancer une telle commande globalement sur tout /var. dom -- -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/fr/FrenchLists Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe" vers debian-user-french-requ...@lists.debian.org En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org Archive: http://lists.debian.org/20131016135951.gc15...@telecom-paristech.fr
Re: find d'un répertoire et supprimer une expression dans des fichiers
Bonjour, Le mercredi 16 octobre 2013 à 14:48, andre_deb...@numericable.fr a écrit : > Soit un modèle comme ceci : > - find /var -exec egrep -n "" {} \; -print; > - cat fichier | grep -n > - sed -i 's///g' fichier Quelque chose comme ça ? find /var -type f -exec sed -i 's///g' {} \; Je te conseille de tester ta commande dans un dossier moins sensible que /var avant de te lancer (et p'têt aussi de t'assurer que tu as une bonne sauvegarde dans un coin…). Seb -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/fr/FrenchLists Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe" vers debian-user-french-requ...@lists.debian.org En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org Archive: http://lists.debian.org/20131016131139.gf14...@sebian.nob900.homeip.net
Re: find d'un répertoire et supprimer une expression dans des fichiers
Salut, Le 16/10/2013 14:48, andre_deb...@numericable.fr a écrit : Bonjour, Honte à moi, je sais pas faire, Je désire accoupler à la commande "find", la recherche d'une expression dans tous les fichiers d'un répertoire et ensuite de supprimer cette expression par rien. Soit un modèle comme ceci : - find /var -exec egrep -n "" {} \; -print; - cat fichier | grep -n - sed -i 's///g' fichier Je n'arrive pas à le faire par une ligne sinon par un programme "bash". Merci d'avance. andré Tu peux laisser tomber le find en utilisant la possibilité qu'a grep de parcourir une arborescence et à ne cracher que les noms des fichiers dans lesquels le motif a été trouvé. Je pense que quelque chose comme ça doit pouvoir répondre à ta demande : $ egrep -lR "" /var/ | xargs -d '\n' -n 1 sed -i 's///g' egrep va sortir les noms des fichiers qui contiennent on expression et xargs va appeler sed pour chacun de ces noms, en prenant le retour à la ligne comme séparateur, ce qui permet de traiter correctement les fichiers dont le nom contient des espaces (l'option "-n 1" de xargs permet d'appeler sed pour chacun des fichiers dans lesquels a été trouvé ; tu peux supprimer cette option et n'appeler sed qu'une seule fois pour plus d'efficacité à condition qu'il n'y ait pas trop de résultats ou mettre une valeur plus importante pour faire moins d'appels à sed). A+ Jean-Jacques -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/fr/FrenchLists Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe" vers debian-user-french-requ...@lists.debian.org En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org Archive: http://lists.debian.org/525e9037.40...@doti.fr
find d'un répertoire et supprimer une expression dans des fichiers
Bonjour, Honte à moi, je sais pas faire, Je désire accoupler à la commande "find", la recherche d'une expression dans tous les fichiers d'un répertoire et ensuite de supprimer cette expression par rien. Soit un modèle comme ceci : - find /var -exec egrep -n "" {} \; -print; - cat fichier | grep -n - sed -i 's///g' fichier Je n'arrive pas à le faire par une ligne sinon par un programme "bash". Merci d'avance. andré -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/fr/FrenchLists Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe" vers debian-user-french-requ...@lists.debian.org En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org Archive: http://lists.debian.org/201310161448.06262.andre_deb...@numericable.fr