[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Supprimer le contenu d'un repertoire SAUF un fichier particulier



Tue, 24 May 2016 12:08:20 +0200
Hugues MORIN <morinh@gmail.com> écrivait :

> Bonjour a tous
> 
> 
> 
> J'ai besoin de supprimer tout le contenu d'un repertoire SAUF le fichier
> index.php
> 
> Il me semblai que cela aurai du le faire:
> find /var/www/monsite/cache ! -name 'index.php' -exec rm -rf {} \;
> 
> mais en pratique cela supprime aussi le repertoire "cache"
> 
> La syntaxe me semble correcte mais comment faire pour ecarter le dossier
> "cache" de la suppression?
> 
> 
> Cette solution n'est peut etre pas la bonne pour ce que je veux faire.
> En avez-vous une autre qui fonctionne?

Tu peux aussi jouer avec les négations dans les regexp.
cd /var/www/monsite/cache; rm -fr !(index.php)

Attention, cela nécessite d'activer extglob.

Voilà comment vérifier, activer, désactiver extglob :
shopt extglob
shopt -s extglob
shopt -u extglob

Si tu comprends l'anglais, une chouette page :
http://stackoverflow.com/questions/216995/how-can-i-use-inverse-or-negative-wildcards-when-pattern-matching-in-a-unix-linu



> 
> 
> Merci
> 
> Cordialement
> Hugues


Jean-Marc <jean-marc@6jf.be>

Attachment: pgpZGbwY0I9Sf.pgp
Description: PGP signature


Reply to: