#1 Le 05/12/2007, à 21:44
- kinkey_wizard
[Résolu] Bash : rm -rf non récursif.
Bonsoir à tous,
Juste un petit souci de compréhension d'une commande bash bien connue. :]
Après un ls -R dans un dossier de test voilà ce que j'obtiens :
$ ls -R
.:
rep test~
./rep:
autretes~ rep2
./rep/rep2:
aut~
Maintenant j'execute un rm -rfv *~ :
$ rm -rfv *~
détruit `test~'
Puis à nouveau un ls -R dont voici le résultat :
$ ls -R
.:
rep
./rep:
autretes~ rep2
./rep/rep2:
aut~
Le rm -rf *~ n'aurait-il pas du supprimer tous les fichiers se terminant par ~ du dossier de test et de ses sous-dossiers ? Ou bien je n'ai pas bien assimilé le man de rm ?
Merci d'avance pour vos éclaircissements.
Bonne soirée.
Dernière modification par kinkey_wizard (Le 05/12/2007, à 22:52)
Hors ligne
#2 Le 05/12/2007, à 21:51
- dekans
Re : [Résolu] Bash : rm -rf non récursif.
rm -r détruit un fichier ou un dossier avec tout ce qu'il contient, mais pas le dossier courant.
ici seul test~ est concerné, et c'est un fichier donc il ne contient pas d'autres fichiers ou dossiers.
dekans@jabber.kubuntu-fr.org
Hors ligne
#3 Le 05/12/2007, à 21:58
- kinkey_wizard
Re : [Résolu] Bash : rm -rf non récursif.
Bon sang mais c'est bien sûr!
Effectivement c'est tout de suite plus clair, je ne voyais pas les choses sous le bon angles.
En revanche comment faire en sorte de faire ce que je veux alors ? C'est à dire quelle serait la commande pour supprimer tous les fichiers se terminant par ~ de toute l'arborescence sans supprimer les dossiers ?
Merci.
Hors ligne
#4 Le 05/12/2007, à 22:09
- PiniouF
Re : [Résolu] Bash : rm -rf non récursif.
Ca parraît toujours un peu lourdingue, mais tu peux faire comme cela :
find . -name \*~ -exec rm \-fv {} \;
Dernière modification par PiniouF (Le 05/12/2007, à 22:13)
linux user #437036 ubuntu user #10243
Mais bon, tout ça n'a pas de sens... J'utilisais Linux quand ça tenait sur 2 disquettes !
Hors ligne
#5 Le 05/12/2007, à 22:52
- kinkey_wizard
Re : [Résolu] Bash : rm -rf non récursif.
Effectivement cela fonctionne et me convient tout à fait.
Merci beaucoup à tous les deux.
Hors ligne