Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 24-11-2020 18:00:51

golgot200
Membre
Distrib. : Archlinux 2018-02-03
Noyau : 5.9.4-arch1-1
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

trouver un fichier, le supprimer ainsi que son contenant.

Bonjour,

je voudrais avoir une commande qui me recherche un fichier type et qui me le supprime lui, ainsi que le dossier qui le contient.

dossier1/dossier2/dossier3/le_fichier.txt



pour n'avoir plus que :

dossier1/dossier2/



Ĵe n'y arrive pas.

Hors ligne

#2 24-11-2020 19:26:44

David5647
Membre
Distrib. : Debian Bullseye/Sid
Noyau : 5.7.0-2-amd64
(G)UI : KDE/i3wm
Inscription : 27-08-2017

Re : trouver un fichier, le supprimer ainsi que son contenant.

Super! un nouveau regex!

mkdir -p dossier/dossier1/dossier2/dossier3 && touch dossier/dossier1/dossier2/dossier3/file.txt


find  dossier -type f -name 'file.txt' | sed -r 's/(\/[^/]*){1}$//g'

dossier/dossier1/dossier2/dossier3


find  dossier -type f -name 'file.txt' | sed -r 's/(\/[^/]*){2}$//g'

dossier/dossier1/dossier2


find  dossier -type f -name 'file.txt' | sed -r 's/(\/[^/]*){3}$//g'

dossier/dossier1


find  dossier -type f -name 'file.txt' | sed -r 's/(\/[^/]*){4}$//g'

dossier

Dernière modification par David5647 (24-11-2020 19:28:25)

Hors ligne

#3 24-11-2020 19:27:01

saitama-san
Membre
Inscription : 28-07-2019

Re : trouver un fichier, le supprimer ainsi que son contenant.

salut,

je crois qu'il manque quelques explications concernant ton besoin.
peut être que ça peut t'aider
https://www.cyberciti.biz/faq/howto-fin … nix-linux/

En ligne

#4 25-11-2020 09:23:30

vv222
Administrateur
Lieu : Bretagne
Distrib. : GNU/Linux Debian « Sid »
Noyau : Linux ≥ 5.10 (amd64)
(G)UI : Openbox
Inscription : 18-11-2013
Site Web

Re : trouver un fichier, le supprimer ainsi que son contenant.

Avec dirname (fourni par coreutils) :

find dossier -type f -name 'file.txt' | while read file; do
    rm "$file"
    rmdir "$(dirname "$file")"
done



Avec un built-in du shell :

find dossier -type f -name 'file.txt' | while read file; do
    rm "$file"
    rmdir "${file%/*}"
done



Des variantes utilisant -exec :

find dossier -type f -name 'file.txt' \
    -exec sh -c 'rm "$1" && rmdir "$(dirname "$1")"' sh {} \;

find dossier -type f -name 'file.txt' \
    -exec sh -c 'rm "$1" && rmdir "${1/*}"' sh {} \;


Jouer sous Debian ? Facile !

Hors ligne

#5 25-11-2020 17:00:19

golgot200
Membre
Distrib. : Archlinux 2018-02-03
Noyau : 5.9.4-arch1-1
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

Re : trouver un fichier, le supprimer ainsi que son contenant.

Merci à vous,

je vais essayer de me servir de tout ça dans un script, mais je pense que ça va être plus compliqué encore.
Il vaut que je parte sur la création d'un fichier texte avec la direction sauvegardé dans celui-ci. Un genre de mémoire en sorte .... je vais voir.:)
Je ne peux pas en dire plus vu que je suis assez paumé pour l'instant sur ce problème.

Dernière modification par golgot200 (25-11-2020 17:02:00)

Hors ligne

#6 25-11-2020 17:13:09

golgot200
Membre
Distrib. : Archlinux 2018-02-03
Noyau : 5.9.4-arch1-1
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

Re : trouver un fichier, le supprimer ainsi que son contenant.

En fait à un moment donné sur le job, je génère un fichier texte de sauvegarde du chemin avec cette commande :

readlink -m "$station/$folder_date" > "$station/$folder_date/file_saves_station_folder_date.txt"



qui m'inscrit dans le fichier l'adresse :

/home/patrick/Desktop/REBOURS/Radio_Italo4You/1606323600



comme ça j'arrive à supprimer le dossier "1606323600"

C'est une manière comme une autre hmm

Dernière modification par golgot200 (25-11-2020 17:14:11)

Hors ligne

Pied de page des forums