Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 28/11/2010, à 11:27

omnimax

cherche commande pour tout effacer

Bonjour,

j'ai une clé usb où j'ai recréé l'arborescence vide de mon réseau que je synchronise avec celui-ci.

Seulement au bout d'une utilisation prolongée, j'aimerai pouvoir vider cette clé usb sans toucher au dossier.

Connaissez-vous la commande ? merci.


14.04 unity et Linux Mint KDE 13 zsh-meilleur shell   script fire

Hors ligne

#2 Le 28/11/2010, à 11:29

helly

Re : cherche commande pour tout effacer

Bonjour.
Tu peux utiliser simplement la commande dd smile.
edit : ↓ ha, j'ai dû mal comprendre !!

Dernière modification par helly (Le 28/11/2010, à 11:34)


Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.

Hors ligne

#3 Le 28/11/2010, à 11:33

Nrm

Re : cherche commande pour tout effacer

il faudrait que tu fasse un script bash, recursif qui rentre dans les dossiers et qui supprime tout ce qui n'est pas un dossier.
J'ai écrit un truc un peut similaire, je pourrait te le donner en exemple, mais il faudrat que tu fasse des modifications

bon courage

Hors ligne

#4 Le 28/11/2010, à 11:34

cep

Re : cherche commande pour tout effacer

quelque chose comme :

find ./* \( ! -name 'fichier_un_conserver' -a ! -name 'fichier_deux_conserver' \) -exec rm {} \;

qui va effacer tous les fichiers dans le répertoire courant, sauf x et y.

ou un find basé sur la date des fichiers.

etc. etc.

Hors ligne

#5 Le 28/11/2010, à 14:33

ehmicky

Re : cherche commande pour tout effacer

Salut,
Juste une petite précision car :

find ./*

contrairement à :

find .

(ou simplement find) ne supprimera pas les dotfiles (fichiers dont le nom de fichier commence par un point).
Par ailleurs, sans l'option -depth (impliquée par -delete), -exec rm -R {} cherchera à supprimer les dossiers avant leur contenu, ce qui fera que si un dossier contient 'fichier_un_conserver", il sera supprimé avec "fichier_un_conserver". Donc :

find \! \( -name "fichier_un_conserver" -name "fichier_deux_conserver" \) -delete 2> /dev/null

Dernière modification par ehmicky (Le 28/11/2010, à 14:41)


Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?

Hors ligne

#6 Le 28/11/2010, à 14:55

pode

Re : cherche commande pour tout effacer

S'il s'agit de supprimer tous les fichiers d'une arborescence, sans toucher aux répertoires, cela peut se faire comme ça :

Avant :

tree -a rep1/
rep1/
├── f1
├── rep2
│   └── f2
└── rep3
    ├── f3
    └── .f4

Commande de nettoyage :

find rep1/ -type f -delete

Après :

tree -a rep1/
rep1/
├── rep2
└── rep3

Hors ligne

#7 Le 28/11/2010, à 15:38

Nrm

Re : cherche commande pour tout effacer

J'ai un peut de temps pour te mettre un script qui pourrait permettre de faire ce que tu veut, à adapter a ton cas peut-être

#!/bin/bash

ls "$1" | while read FILE
do
    if [ -d "$1/$FILE" ]
    then 
        echo "Entré dans le dossier : $1/$FILE"
        cd "$1/$FILE"
               chemin_du_script "$1/$FILE"
        cd ../
    else
        echo "suppression du fichier : $1/$FILE"
        rm  "$1/$FILE"
    fi
done

Hors ligne