Résolu le 26-06-20 Recherche et suppression de plusieurs fichiers dans dossier

Assistance concernant Linux Mint
Répondre
Avatar du membre
Nerva
Messages : 376
Enregistré le : lun. 4 mars 2019 18:48

Recherche et suppression de plusieurs fichiers dans dossier

Message par Nerva »

Bonjour.

Ça ne doit pas être bien compliqué mais je n'y arrive pas : comment rechercher (et supprimer) plusieurs fichiers contenus dans un dossier en ligne de commande par copier-coller d'après la liste des fichiers, qui se présentent de cette façon :

Fichier machin - Première partie.txt
Fichier truc - Part 3.txt


Etc...

Je pourrais les supprimer à la main mais j'en ai environ 80 à dégager dans un dossier qui en contient plus de 1000.

Merci.
Modifié en dernier par Nerva le ven. 26 juin 2020 19:06, modifié 1 fois.
Linux Mint 21.3 Virginia | Cinnamon 6.0.4

Avatar du membre
cyrille
Administrateur du site
Messages : 12285
Enregistré le : mar. 19 sept. 2017 08:49
Localisation : Nowhere
Contact :

Re: Recherche et suppression de plusieurs fichiers dans dossier

Message par cyrille »

pas du tout compris,
la liste des fichiers à supprimer est contenue dans un fichier texte ?

Si oui tu le lis ligne par ligne par ligne et à chaque lecture tu supprimes le fichier

Code : Tout sélectionner

for FILE in `monFichierTexte.txt`; do rm -rf $FILE; done
Ensuite tu peut utiliser des regex pour affiner les critères de recherche

ou tu te crées un script
Tu peux même passe le nom de fichier en paramètre afin de ne pas avoir à modifier le script à chaque appel...

Code : Tout sélectionner

#!/bin/bash
for FILE in `cat monFichierTexte.txt`
do
    rm -rf $FILE
done

Code : Tout sélectionner

#!/bin/bash
for FILE in `cat $1`
do
    rm -rf $FILE
done
appel

Code : Tout sélectionner

scriptName.sh monFichierAvecLeNomDesFichiersASupprimer

ou autre façon

Code : Tout sélectionner

while read -r file; do rm -- "$file"; done < list.txt
Beaucoup de façon de faire plus ou moins équivalentes....

Si non, et que tu ne veux que supprimer les extensions .txt

Code : Tout sélectionner

rm -rf *.txt

PS :m fais un backup de ton dossier avant de tester ces commandes ;)
?séuqartéd sel ruoP / sécnoféd sel ruoP / sreiruréB sel ruoP / ?étéicos elleuQ

https://crust.ovh

Avatar du membre
cyrille
Administrateur du site
Messages : 12285
Enregistré le : mar. 19 sept. 2017 08:49
Localisation : Nowhere
Contact :

Re: Recherche et suppression de plusieurs fichiers dans dossier

Message par cyrille »

ou encore plus simple avec xargs mais lecture moins aisée

Code : Tout sélectionner

$ tr '\n' '\0' < fichierAvecLeNomDesFichierASupprimer.txt | xargs -0 rm
?séuqartéd sel ruoP / sécnoféd sel ruoP / sreiruréB sel ruoP / ?étéicos elleuQ

https://crust.ovh

Avatar du membre
Nerva
Messages : 376
Enregistré le : lun. 4 mars 2019 18:48

Re: Recherche et suppression de plusieurs fichiers dans dossier

Message par Nerva »

J'ai une liste d'exactement 79 fichiers à supprimer dans un dossier qui en contient 1037. Tous des fichiers txt mais sans aucune base commune. Cette liste est répertoriée dans un fichier à part où chaque entrée est listée comme indiqué dans le sujet : les uns en dessous des autres.

Fichier machin - Première partie.txt
Fichier truc - Part 3.txt

Etc...

Donc, je pense qu'après avoir formaté cette liste (en supprimant les sauts de lignes, rajoutant des virgules, des guillemets ou je ne sais quoi d'autre) je pourrais la coller dans le terminal, rechercher et supprimer les fichiers indiqués.
Linux Mint 21.3 Virginia | Cinnamon 6.0.4

Avatar du membre
cyrille
Administrateur du site
Messages : 12285
Enregistré le : mar. 19 sept. 2017 08:49
Localisation : Nowhere
Contact :

Re: Recherche et suppression de plusieurs fichiers dans dossier

Message par cyrille »

Dans ce cas si ta liste est propre, mes scripts donnés plus haut sont fonctionnels. Préférence pour le xargs ;)
Un fichier par ligne et tu injectes le nom de fichier dans dans ligne commande

Code : Tout sélectionner

 tr '\n' '\0' < fichierAvecLeNomDesFichierASupprimer.txt | xargs -0 rm
Tu remplaceras fichierAvecLeNomDesFichierASupprimer par le nom de ton fichier contenant cette liste
?séuqartéd sel ruoP / sécnoféd sel ruoP / sreiruréB sel ruoP / ?étéicos elleuQ

https://crust.ovh

Avatar du membre
Nerva
Messages : 376
Enregistré le : lun. 4 mars 2019 18:48

Re: Recherche et suppression de plusieurs fichiers dans dossier

Message par Nerva »

Ok c'est bon. Merci bien. :)
Linux Mint 21.3 Virginia | Cinnamon 6.0.4

Avatar du membre
thyam
modérateur
Messages : 8033
Enregistré le : mar. 14 juil. 2015 10:33
Localisation : Lille - Hauts de France

Re: Recherche et suppression de plusieurs fichiers dans dossier

Message par thyam »

sujet résolu
si besoin de rouvrir => mp à un membre de l'équipe ;)
pc principal : hp pavilion dv6 - core i5 - 8go ram - dd 1 to - CG dual Intel HD graphics 3000 / Amd Radeon HD 7400m
dual boot W$ (taf oblige) / LMDE 6 'Faye' et Cinnamon

« Seul, on va plus vite... Ensemble, on va plus loin ;) »

Répondre