Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2956 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Comment exclure certains fichiers d'une commande ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Comment exclure certains fichiers d'une commande ?

n°915564
sheol1
Posté le 23-05-2007 à 22:35:28  profilanswer
 

Bonjour,
 
Comment fait-on pour lancer une commande sur tous les fichiers compris dans un dossier, sauf les fichiers A et B ?
 
un exemple :
 
rm * SAUF A B
 
Il doit bien y avoir une commande pour faire ça et je ne la trouve pas ! Alors pour l'instant je copie les fichiers A et B dans un sous repertoire, je rm * puis je recopie A et B dans le repertoire avant de rmdir le sous repertoire temporaire ... c'est un peu lourd !
mais j'ai essayé de trouver sur le forum ou google j'ai pas trouvé ... dsl !
 
Si une bonne ame pouvait m'éclairer ... :)
 
Merci d'avance !  :hello:

mood
Publicité
Posté le 23-05-2007 à 22:35:28  profilanswer
 

n°915628
regdub
Posté le 24-05-2007 à 01:50:03  profilanswer
 

Et dans le man de ton shell, t'as cherché ? :o
En bash, on peut faire : rm [C-Z]*


---------------
Legalize it @HFR
n°915655
fighting_f​alcon
Posté le 24-05-2007 à 08:48:51  profilanswer
 

cd ton_dir && find .|grev -vE '\(fichier_A\|fichier_B\)'|xargs rm -f $1
 
si l'astuce de regdub n'est pas possible ..

n°917559
Xavier_OM
Monarchiste régicide (fr quoi)
Posté le 30-05-2007 à 11:06:14  profilanswer
 

regdub : le truc c'est qu'avec les patterns ou les regexp on peut facilement exclure tous les fichiers commençant par X, mais c'est plus dur d'exclure uniquement un fichier avec un nom précis.
 
Suivant l'idée de fighting_falcon, mais pour une variante plus "lisible", je tenterai un :
   

rm $(ls * | grep -v not_this_file)


---------------
Il y a autant d'atomes d'oxygène dans une molécule d'eau que d'étoiles dans le système solaire.
n°917620
matafan
Posté le 30-05-2007 à 12:22:31  profilanswer
 

Sinon y'a toujours les solutions du genre :

find . -maxdepth 1 ! -name toto -exec rm {} \;

n°917626
regdub
Posté le 30-05-2007 à 12:35:10  profilanswer
 

@Xavier_OM: Certes.
 
Sinon, on peut tout faire dans un "find" avec les bonnes options genre "! -name" et "-delete".
 
edit: j'aurais du faire un refresh avant de répondre


Message édité par regdub le 30-05-2007 à 12:36:31

---------------
Legalize it @HFR
n°917888
sheol1
Posté le 30-05-2007 à 23:32:28  profilanswer
 

Merci à tous !!!
 
La solution de Xavier est très lisible mais les autres me donnent bien des idées pour d'autres choses  :pt1cable:  
 
Ca fait pas longtemps longtemps que j'ai une utilisation intensive des systemes linux, mais ... c'est vraiment passionnant ne serait ce que le scripting shell.
 
Encore merci !  :hello:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Comment exclure certains fichiers d'une commande ?

 

Sujets relatifs
Commande cp très très lente[Debian Etch] Commande chown en tant qu'utilisateur de base
Quel gestionnaire de fichiers utilisez-vous ?DHCP commande
[Mandriva] Commande SU : permission [Résolu] Problème d'affichage des widgets sous certains logiciels
comprend pas une commande linuxDifférence de poids de fichiers entre 2 MAC
script liste de fichiersRenommer des fichiers en *.jpg
Plus de sujets relatifs à : Comment exclure certains fichiers d'une commande ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR