#1 Le 26/11/2009, à 00:45
- jimmy64
supprimer des fichiers avec la commande Find...
Bonjour !
3h que je passe à essayer de supprimer tous les fichiers .m3u de ma bibliothèque audio...
Le but c'est donc de rechercher tous les fichiers .m3u avec Find et de les passer à Rm pour qu'il les supprime...
Le problème c'est que FIND formatte l'affichage donc tous les chemins avec les espaces sont inexploitables !!!
exemple au lieu du bon format : /Mes\ Documents/
Find renvoi : /Mes Documents/ => du coup, ca plante !
Un début : find -name "*.m3u" -exec rm -i {} \;
Reste à ignorer les espaces mais je m'en sors pas avec SED ou IFS... je comprends pas ! Help !
Dernière modification par jimmy64 (Le 28/11/2009, à 01:34)
Hors ligne
#2 Le 26/11/2009, à 03:36
- AnsuzPeorth
Re : supprimer des fichiers avec la commande Find...
Bjr,
Avec l'option intégré de find -delete, ca ne fonctionne pas ?
find . -name "*.m3u" -delete
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#3 Le 26/11/2009, à 03:42
- PDemong
Re : supprimer des fichiers avec la commande Find...
Bonne pioche ! Merci AnzuzPeorth, je ne connaissais pas cette option.
Voici la démo que cela fonctionne :
pat@pegase:~/test$ find . -name "*.m3u"
./repertoire/file3.m3u
./repertoire/file4.m3u
./rep ertoire/file5.m3u
./rep ertoire/file6.m3u
pat@pegase:~/test$ find . -name "*.m3u" -delete
pat@pegase:~/test$ find . -name "*.m3u"
Hors ligne
#4 Le 26/11/2009, à 04:54
- Hizoka
Re : supprimer des fichiers avec la commande Find...
un petit resolu dans le titre
merci pour le "delete" AnzuzPeorth je ne le connaissais pas non plus, j'utilisais "-exec rm {}".
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#5 Le 26/11/2009, à 07:37
- helly
Re : supprimer des fichiers avec la commande Find...
Au passage vu que c'est un peu le sujet, ils servent a quoi ces ptits fichier .m3u ?
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
#6 Le 26/11/2009, à 07:53
- anonyme1
Re : supprimer des fichiers avec la commande Find...
ce sont des playlists
sudo -s
aptitude update && aptitude safe-upgrade
aptitude full-upgrade && aptitude install build-essential linux-headers-$(uname -r)
aptitude autoclean && update-pciids && update-usbids.sh && update-usbids && reboot
Hors ligne
#7 Le 26/11/2009, à 08:14
- helly
Re : supprimer des fichiers avec la commande Find...
ha ok
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
#8 Le 26/11/2009, à 14:54
- jimmy64
Re : supprimer des fichiers avec la commande Find...
loool aussi simple que ca, merciii bien !!!
Effecitvement je ne connaissais pas non plus l'option "-delete" !!
Je dois pas etre le seul dans ce cas puisque tout le monde utilise généralement l'option "-exec" avec RM
Hors ligne
#9 Le 28/11/2009, à 01:31
- jimmy64
Re : supprimer des fichiers avec la commande Find...
euh.... je reviens sur le sujet car cela ne marche pas sur ma distib...
c'est une busy box et l'option -delete de find n'existe pas... il va donc falloir que je traite les espaces des répertoires différemment....
Hors ligne
#10 Le 28/11/2009, à 04:22
- Hizoka
Re : supprimer des fichiers avec la commande Find...
lui devrait fonctionner je pense :
find . -name "*.m3u" -exec rm "{}" \;
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#11 Le 03/12/2009, à 20:29
- jimmy64
Re : supprimer des fichiers avec la commande Find...
euh la différence se situe au niveau des "{}" ???
j'ai réussi à supprimer toutes les playlists autrement, en graphique à vrai dire mais ca m'intéresserait de savoir supprimer n'importe quel genre de fichier pour faire un script de nettoyage
Hors ligne
#12 Le 04/12/2009, à 08:39
- Hizoka
Re : supprimer des fichiers avec la commande Find...
ca exécute une commande, la en l'occurrence : rm "{}" => supprime les fichiers trouvés.
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#13 Le 05/12/2009, à 17:49
- jimmy64
Re : supprimer des fichiers avec la commande Find...
ok faudrais que je re test ta commande avec les guillemets... en tout cas, sans les guillemets, la commande bug avec les espaces dans les noms de dossiers....
Hors ligne
#14 Le 06/12/2009, à 13:15
- Hizoka
Re : supprimer des fichiers avec la commande Find...
d'ou l'interet des des guillements
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#15 Le 20/12/2009, à 23:10
- jimmy64
Re : supprimer des fichiers avec la commande Find...
Ben justement, je ne sais absolument pas gérer les guillemets !! J'y ai passé des soirées entières, j'enrage !!!!! Pourriez vous m'aider sur ce script svp ? J'ai vraiment besoin d'aide et ce, avant mardi midi :S je suis mal...
#!/bin/sh
music="../Dancehall/_Artistes/"
playlistsRep="/volume1/music/playlists/"
cd "$playlistsRep"
for artiste in `"ls "$music""`
do
playlist_courant="Dancehall > "$artiste".m3u"
artiste_courant=""$music""$artiste"/"
touch "$playlist_courant"
for fichier in `"find "$artiste_courant" -name "*.mp3""`
do
echo "$fichier" >> "$playlist_courant"
done
done
Il a du mal avec les espaces des noms et je pense qu'en m'aidant à le corriger je comprendrais enfin comme il faut faire pour gérer les espaces HELP !!!!!
Hors ligne
#16 Le 20/12/2009, à 23:23
- Hizoka
Re : supprimer des fichiers avec la commande Find...
les " sont utiles si la variable contient des espaces ou des caractères spéciaux, mais il est plus facile au final de traiter toutes les variables de la même façon.
Il est également conseillé d'appeler les variables entre {} afin d'éviter certaines interprétations par bash
De même, il vaut mieux remplacer `` par $().
donc :
#!/bin/sh
music="../Dancehall/_Artistes/"
playlistsRep="/volume1/music/playlists/"
cd "${playlistsRep}"
for artiste in $(ls "${music}")
do
playlist_courant="Dancehall > "${artiste}".m3u"
artiste_courant=""${music}""${artiste}"/"
touch "${playlist_courant}"
for fichier in $(find "${artiste_courant}" -name "*.mp3")
do
echo "${fichier}" >> "${playlist_courant}"
done
done
je n'ai pas touché au code, juste fait les modifs ci-dessus.
m'enfin bon, le topic ne se prête plus vraiment à ca...
Dernière modification par Hizoka (Le 20/12/2009, à 23:26)
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#17 Le 21/12/2009, à 00:13
- jimmy64
Re : supprimer des fichiers avec la commande Find...
Merciiiiiiiiii Hizoka, en tout cas tu as raison c'est hors contexte j'étais despéré et donc j'ai tenté avec ceux qui m'avait aidé ici (j'ai vu que tu avais aussi répondu ailleurs, merci !!)
Mais bon, le script modifié de Hizoka renvoi une erreur sur la commande FIND
find: ../Dancehall/_Artistes/album/: No such file or directory
find: ../Dancehall/_Artistes/2006/: No such file or directory
Hors ligne
#18 Le 21/12/2009, à 20:57
- jimmy64
Re : supprimer des fichiers avec la commande Find...
Apparament il serait préférable de remplacer la boucle for avec le Find, par une boucle while, d'après Hizoka...
Un post, pour ceux que ca interesse est ouvert ici : http://forum.ubuntu-fr.org/viewtopic.php?pid=3114812#p3114812
Hors ligne
#19 Le 02/05/2015, à 12:30
- degolarson
Re : supprimer des fichiers avec la commande Find...
Bonjour
Je relance ce fil
je ne parviens pas à supprimer les fichiers de sauvegarde obsolètes , avec aucune de ces 2 commandes : quand je vais voir dans les dossiers pour vérifier les fichiers *.~ s'y trouvent encore
joel@joel-K70IJ:/media/HD_Data$ find . -name "*.~" -delete
joel@joel-K70IJ:/media/HD_Data$ find . -name "*.~" -exec rm "{}" \;
Catfish trouve les fichiers avec *~ ou ~ seul , alors j'ai essayé d'autres syntaxes pour le nom des fichiers mais sans résultat
/media/HD_Data$ find . -name "*~" -delete
joel@joel-K70IJ:/media/HD_Data$ find . -name "~" -delete
joel@joel-K70IJ:/media/HD_Data$ find . -name "~$" -delete ou /media/HD_Data$ find . -name "*~" -exec rm "{}" \;
J'ai aussi essayé
joel@joel-K70IJ:/media/HD_Data$ find ~/ -name '*~' -print0 | xargs -0 rm
rm: opérande manquant
y a-t-il une erreur dans la doc § 9 ?
Qu'est-ce au juste qu'une opérande ?
merci
Dernière modification par degolarson (Le 12/05/2015, à 07:00)
2018-2020 Xubuntu 18.04 LTS 64b Nov 2020 Debian Buster Laptop Asus PRO79IJ-TY025E SSD 250Go RAM 2.9Go puis 4Go en sept2020 2 x Pentium (R) Dual-Core T4200 2GHz année 2009 LiveboxSosh
IntelMobile4SeriesGMA500, wifi Atheros 9285
Doucement, nous sommes pressés
Les jeunes sont ce qu'en font les vieux cons (Pierre Desproges )
Hors ligne
#20 Le 14/05/2015, à 11:32
- degolarson
Re : supprimer des fichiers avec la commande Find...
Hello, je me permets un petit up
merci
2018-2020 Xubuntu 18.04 LTS 64b Nov 2020 Debian Buster Laptop Asus PRO79IJ-TY025E SSD 250Go RAM 2.9Go puis 4Go en sept2020 2 x Pentium (R) Dual-Core T4200 2GHz année 2009 LiveboxSosh
IntelMobile4SeriesGMA500, wifi Atheros 9285
Doucement, nous sommes pressés
Les jeunes sont ce qu'en font les vieux cons (Pierre Desproges )
Hors ligne
#21 Le 14/05/2015, à 12:00
- pingouinux
Re : supprimer des fichiers avec la commande Find...
Bonjour,
Ces 3 commandes fonctionnent parfaitement
find . -name "*~" -delete
find . -name "*~" -exec rm "{}" \;
find . -name '*~' -print0 | xargs -0 rm
Hors ligne
#22 Le 14/05/2015, à 12:21
- degolarson
Re : supprimer des fichiers avec la commande Find...
Bonjour pingoulnux, merci de répondre
le hic c'est que ben non, elles ne fonctionnent pas chez moi
joel@joel-K70IJ:/media/HD_Data$ find . -name '*~' -print0 | xargs -0 rm
rm: opérande manquant
Saisissez « rm --help » pour plus d'informations.
joel@joel-K70IJ:/media/HD_Data$
je ne comprends pas ce qu'est un opérande manquant
merci
2018-2020 Xubuntu 18.04 LTS 64b Nov 2020 Debian Buster Laptop Asus PRO79IJ-TY025E SSD 250Go RAM 2.9Go puis 4Go en sept2020 2 x Pentium (R) Dual-Core T4200 2GHz année 2009 LiveboxSosh
IntelMobile4SeriesGMA500, wifi Atheros 9285
Doucement, nous sommes pressés
Les jeunes sont ce qu'en font les vieux cons (Pierre Desproges )
Hors ligne
#23 Le 14/05/2015, à 13:13
- pingouinux
Re : supprimer des fichiers avec la commande Find...
je ne comprends pas ce qu'est un opérande manquant
En mathématiques ou en informatique, un opérande est une quantité sur laquelle une opération est exécutée. Voir Wikipédia
Dans ton cas, c'est que la commande rm ne reçoit aucun argument. Sans doute n'y a-t-il aucun fichier se terminant par ~ dans l'arborescence située sous le répertoire courant.
Hors ligne
#24 Le 14/05/2015, à 18:08
- degolarson
Re : supprimer des fichiers avec la commande Find...
Ah ça y est j'ai essayé avec
-name '~*' au lieu de -name '*~'
et là effectivement find a trouvé des fichiers correspondants et les a supprimé
merci beaucoup !
2018-2020 Xubuntu 18.04 LTS 64b Nov 2020 Debian Buster Laptop Asus PRO79IJ-TY025E SSD 250Go RAM 2.9Go puis 4Go en sept2020 2 x Pentium (R) Dual-Core T4200 2GHz année 2009 LiveboxSosh
IntelMobile4SeriesGMA500, wifi Atheros 9285
Doucement, nous sommes pressés
Les jeunes sont ce qu'en font les vieux cons (Pierre Desproges )
Hors ligne
#25 Le 14/05/2015, à 18:24
- Hizoka
Re : supprimer des fichiers avec la commande Find...
Ca ne veut pas dire la meme chose...
~* : ce qui commence par ~
*~ : ce qui termine par ~
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne