Re: xargs + rm

Top Page

Reply to this message
Author: Nicolas Morey-Chaisemartin
Date:  
To: Patrick Dupre, guilde
Subject: Re: xargs + rm
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
> ===========================================================================

>