Re: xargs + rm

Top Page

Reply to this message
Author: Nicolas Morey-Chaisemartin
Date:  
To: Patrick Dupre, guilde
Subject: Re: xargs + rm
J'ai oublié le plus important:
locate -0 pour avoir un comportement similaire au find

Le 06/16/2016 à 01:45 PM, Nicolas Morey-Chaisemartin a écrit :
> Dans la man page de find:
> find /tmp -name core -type f -print0 | xargs -0 /bin/rm -f
> Find files named core in or below the directory /tmp and delete them, processing filenames in such a way that file or directory names containing single or double quotes, spaces or newlines are correctly  handled.   The  -name
>        test comes before the -type test in order to avoid having to call stat(2) on every file.

>
> le print0 fait des string terminées par NULL. Pas de risque de confondre un espace et un séparateur entre 2 fichiers. le -0 de xargs fait l'opposé et génère l'argument sous la forme qui va bien.
> Cette méthode est a préferer à toutes les autres car elle sait gérer *tous* les caractères spéciaux (je ne pense pas qu'on puisse mettre un NULL dans un nom de fichier
>
> Nicolas
>
> Le 06/15/2016 à 01:11 PM, Patrick Dupre a écrit :
>> Bonjour,
>>
>> Question,
>>
>> Je fais un locate nom_de_fichier |xargs rm
>> pour effacer des fichiers, mais il faudrait que le nom de
>> fichier se trouve entre " " au moment du rm.
>> Est-ce possible ?
>>
>> Merci.
>>
>> ===========================================================================
>>  Patrick DUPRÉ                                 | | email: pdupre@???
>>  Laboratoire de Physico-Chimie de l'Atmosphère | |
>>  Université du Littoral-Côte d'Opale           | |
>>  Tel.  (33)-(0)3 28 23 76 12                   | | Fax: 03 28 65 82 44
>>  189A, avenue Maurice Schumann                 | | 59140 Dunkerque, France
>> ===========================================================================

>>