#1 Le 03/02/2018, à 14:33
- coucou123
[Résolu] Trouver un répertoire qui ne contient pas un type de fichier
Bonjour à tous,
J'ai un dossier qui contient beaucoup de répertoires et de sous-répertoires, organisé comme ceci :
/home/moi/divers/LIEU/DATE/
(et donc on trouve :
/home/moi/divers/LIEU1/DATE1/
/home/moi/divers/LIEU1/DATE2/
/home/moi/divers/LIEU1/DATE3/
/home/moi/divers/LIEU2/DATE1/
/home/moi/divers/LIEU2/DATE4/
/home/moi/divers/LIEU3/DATE2/,
etc...)
Je cherche un moyen de trouver tous les répertoires de type "DATE" qui ne contiennent pas de fichiers ".png".
Je vous remercie d'avance pour votre aide.
Dernière modification par coucou123 (Le 03/02/2018, à 16:15)
Hors ligne
#2 Le 03/02/2018, à 15:15
- Watael
Re : [Résolu] Trouver un répertoire qui ne contient pas un type de fichier
salut,
sftw
find /home/moi/divers/ -type d ! -exec bash -c 'ls {}*.jpg &>/dev/null' \; -print
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#3 Le 03/02/2018, à 15:49
- coucou123
Re : [Résolu] Trouver un répertoire qui ne contient pas un type de fichier
Merci de ton aide.
Cette commande me liste tous les dossiers où le genre de fichier est présent, alors que je recherche à faire l'inverse, malheureusement.
De plus certains dossiers ont des espaces dans leur nom, et cela semble poser problème lorsque find les examine.
Dernière modification par coucou123 (Le 03/02/2018, à 16:02)
Hors ligne
#4 Le 03/02/2018, à 16:02
- Watael
Re : [Résolu] Trouver un répertoire qui ne contient pas un type de fichier
find /home/moi/divers/ -type d ! -exec bash -c 'ls "{}"/*.jpg &>/dev/null' \; -print
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#5 Le 03/02/2018, à 16:07
- coucou123
Re : [Résolu] Trouver un répertoire qui ne contient pas un type de fichier
Alors, il n'y a plus de problème avec les espaces, mais la commande me liste tous les dossiers "Lieu".
EDIT: ah, il me liste en fait tous les dossiers "Lieu" + les dossiers "DATE" qui ne contiennent pas de fichier image png. Bon, faut éplucher tout ça du coup...
Dernière modification par coucou123 (Le 03/02/2018, à 16:12)
Hors ligne
#6 Le 03/02/2018, à 16:12
- Watael
Re : [Résolu] Trouver un répertoire qui ne contient pas un type de fichier
essaie de jouer avec -mindepth...
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#7 Le 03/02/2018, à 16:15
- coucou123
Re : [Résolu] Trouver un répertoire qui ne contient pas un type de fichier
Yes, c'est parfait avec un mindepth 2 !
Merci beaucoup !!!
Hors ligne
#8 Le 03/02/2018, à 16:35
- moko138
Re : [Résolu] Trouver un répertoire qui ne contient pas un type de fichier
Euh.. S'il vous plaît, où placez-vous le -mindepth ?
%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel : À la découverte de dcraw
Hors ligne
#9 Le 03/02/2018, à 16:38
- Watael
Re : [Résolu] Trouver un répertoire qui ne contient pas un type de fichier
juste après le nom du répertoire de départ.
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#10 Le 03/02/2018, à 16:45
- moko138
Re : [Résolu] Trouver un répertoire qui ne contient pas un type de fichier
Merci beaucoup ! (man find ne m'avait pas éclairé, ni mes messages d'erreur).
%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel : À la découverte de dcraw
Hors ligne
#11 Le 03/02/2018, à 22:38
- DonutMan75
Re : [Résolu] Trouver un répertoire qui ne contient pas un type de fichier
Bonsoir,
le
&>/dev/null
ne devrait-il plutôt pas être :
2>/dev/null
?
et quel est le sens de "! -exec" au juste ?
Bonne soirée à tous
Donut
Hors ligne
#12 Le 03/02/2018, à 22:49
- Watael
Re : [Résolu] Trouver un répertoire qui ne contient pas un type de fichier
&> redirige stdout ET stderr
2> redirige seulement stderr
le ! est une négation, j'aurais pu écrire -not
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#13 Le 04/02/2018, à 01:35
- DonutMan75
Re : [Résolu] Trouver un répertoire qui ne contient pas un type de fichier
Eh bien... j'aurais appris quelque chose ce soir !
Des années que je fais 1>/dev/null 2>&1....
Donut
Hors ligne
#14 Le 04/02/2018, à 12:42
- Watael
Re : [Résolu] Trouver un répertoire qui ne contient pas un type de fichier
ça n'existe que depuis quelques années.
c'est un "bashisme".
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne