lister tous les repertoires contenant des sous-rep donnés ?

lister tous les repertoires contenant des sous-rep donnés ? - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 07-05-2003 à 17:02:48    

J'aimerais pouvoir lister tous les repertoires (à partir d'un point donné) contenant les sous repertoires a1 a2 a3 et a4 ???
 
Avec find, je suppose mais comment ?

Reply

Marsh Posté le 07-05-2003 à 17:02:48   

Reply

Marsh Posté le 07-05-2003 à 21:46:44    

[:yoyoz]

Reply

Marsh Posté le 07-05-2003 à 22:04:09    

oui avec find
 
find ./ -type d -name "a[1-9]" -exec ls -la {} \;
 
Si tu dois utiliser des conditions supplémentaire, je te conseille plutot d'écrire un petit script

Reply

Marsh Posté le 07-05-2003 à 22:06:51    

C'est pas  

Code :
  1. ls -l `find . -name "a1" -print`


que tu veux (lister les répertoires a1, ...) mais bien lister les répertoires parents de a1, ... ?
J'ai pas de solution simple hors script récursif dans ce cas-là, dsl
 
EDIT: super grilled
et pour me répondre:

Code :
  1. ls -l `find . -name "a1" -print`/..


s'occupe du répertoire parent  :sarcastic:


Message édité par phosphorus68 le 07-05-2003 à 22:11:13
Reply

Marsh Posté le 07-05-2003 à 22:10:12    

for i in a1 a2 a3 a4 ;
do
  find /toto -name $1 -type d
done
 
Ou un truc de ce genre

Reply

Marsh Posté le 07-05-2003 à 22:15:40    

ce que je souhaite c'est trouvé tous les repertoires qui contiennent à la fois les sous-rep a1 a2 a3 et a4.
Par exemple si le rep /coincoin contient a1 a2 et a3 il ne doit pas être listé.

Reply

Marsh Posté le 07-05-2003 à 22:34:07    

Contenant ou ne contenant pas, faudrais savoir ...
 
 
Tu as la possibilité de faire un petit script du genre :  
 

Code :
  1. for directory in $( find ./ -type d  )
  2. if ! [ -d $directory/a1 ] && ! [ -d $directory/a2 ] && ! [ -d $directory/a3 ] &&  ! [ -d $directory/a4 ]
  3. then
  4. ls -la
  5. fi


Message édité par becket le 07-05-2003 à 22:34:42
Reply

Marsh Posté le 07-05-2003 à 23:24:54    

becket a écrit :

Contenant ou ne contenant pas, faudrais savoir ...


 :heink:  

Reply

Marsh Posté le 07-05-2003 à 23:46:40    

:jap:  :jap:  :jap:  
Merci beaucoup becket, ça marche impec comme ça :  
 


#!/bin/bash
for directory in $(find /space -type d); do
  if [ -d $directory/a1 ] && [ -d $directory/a2 ] && [ -d $directory/a3 ] && [ -d $directory/a4 ]; then
     echo $directory
  fi
done

 
 [:touki]

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed