Erreur xargs

bonjour,

je souhaite passer une commande toutes les nuits pour faire du ménage sur mon serveur de fichiers (debian 2.4.24) :

find . -name “*.tmp” -mtime +30|xargs rm >/tmp/purge_tmp.log

mais j’ai ce message :
xargs: unmatched single quote

j’ai essayé de remplacer " par ’ mais c’est pareil…
vous avez une idée ?
pour info, cette commande fonctionne correctement sur un AIX 5.3

tu dois avoir un nom de fichier avec un caractère qui fait chier et il faudrait peut être affiner la syntaxe. AMA, le pb arriverait aussi sous AIX 5.3 avec le même lot de fichiers.

Mais pourquoi au lieu de tuber dans un xargs tu n’utilises pas le -exec de find ? genre find … -exec rm “{}” ;

effectivement j’ai des fichiers qui ne doivent pas plaire à debian vu que c’est un serveur de fichier pour des clients XP donc j’ai des fichiers avec des espaces…

avant j’utilisais un -exec mais un jour j’ai fait une boulette (rm * sous / en root !! :laughing: ) alors j’ai changé par xargs…

tu penses que -exec ça serait mieux ?
MrSaladin

Tu as les mêmes risques de boulette avec les deux, car si tu es déjà sûr de ce que te renvoie ton find, alors faire le -exec ou envoyer dans xargs, c’est kif kif.
Sinon, les espaces peuvent poser problême si tu ne quote pas les noms de fichier, mais celà pose ausi les mêmes pb sur des scripts windows. Ici, le problême est précisément causé par un ’ dans un nom de fichier, pas un espace.