OVH Cloud OVH Cloud

[SHELL] rm .DS_Store recursif ?

23 réponses
Avatar
jtnews
Bonjour,

Quelqu'un aurait il deja ecrit un shell script pour detruire recursivement
les fichiers .DS_Store a partir d'un repertoire ?

Merci
Jean

--
Jean Thioulouse - Equipe "Ecologie Statistique" - UMR CNRS 5558
Universite Lyon 1, Bat. Mendel, 69622 Villeurbanne Cedex, France
Fax: (33) 4 78 89 27 19 Tel: (33) 4 72 43 27 56

3 réponses

1 2 3
Avatar
Dominique Marie
Martin Jourdan wrote:

salut,

find . -name .DS_Store -print | xargs rm -f


ça marche avec les fichiers qui ont des espaces dans le nom ? parce que
xargs prend les blancs comme séparateur normalement, non ?

Avatar
Martin.Jourdan.nospam
Dominique Marie wrote:

find . -name .DS_Store -print | xargs rm -f


ça marche avec les fichiers qui ont des espaces dans le nom ? parce que
xargs prend les blancs comme séparateur normalement, non ?


Oui ça marche, parce que xargs n'est pas tombé de la dernière pluie et
requote les noms de fichiers contenant des espaces. En fait, je crois
même savoir que c'est plus subtil que ça, il construit directement une
structure argc/argv qu'il passe à un cousin d'exec, donc le problème ne
se pose pas.

Rectification : après expérience pratique, ça merde :-( aussi bien avec
le /usr/bin/xargs standard qu'avec le /sw/bin/xargs installé par Fink.
Les noms contenant des espaces (soit dans le nom du fichier, soit dans
celui du répertoire) ne sont pas requotés, donc prudence avec la
commande ci-dessus...

Mais ça devrait marcher comme je l'ai indiqué ! :-)
--
Martin Jourdan
Informaticien, fan de Macintosh (X), de Peter Gabriel et de volley-ball


Avatar
Dominique Marie
Martin Jourdan wrote:

Oui ça marche, parce que xargs n'est pas tombé de la dernière pluie et
requote les noms de fichiers contenant des espaces. En fait, je crois
même savoir que c'est plus subtil que ça, il construit directement une
structure argc/argv qu'il passe à un cousin d'exec, donc le problème ne
se pose pas.


s'il procède ainsi, a priori ça marche, oui

Rectification : après expérience pratique, ça merde :-( aussi bien avec
le /usr/bin/xargs standard qu'avec le /sw/bin/xargs installé par Fink.
Les noms contenant des espaces (soit dans le nom du fichier, soit dans
celui du répertoire) ne sont pas requotés, donc prudence avec la
commande ci-dessus...


il me semblait avoir tenté quelque chose comme ça avec xargs sous 10.1
et avoir constaté que les blancs dans les noms de fichiers posaient
problème. Comme j'avais pas réessayé depuis...

Mais ça devrait marcher comme je l'ai indiqué ! :-)


C'est correct, aux bugs près ;-)

1 2 3