Bonjour,
Je suis en train de créer un script afin d'avoir une liste du contenu d'un volume cible en excluant les fichiers cachés. Ma version actuelle fonctionne. Le seul problème est l'impossibilité de répertorier les applications qui sont des dossiers. Je ne sais pas du tout de quelle manière m'y prendre pour les listés sans listé aussi l'intérieure.
Si le volumes contient uniquement des fichiers, cela fonctionne, j'obtient ça :
	
	
	
		
Si le volumes contient des fichiers et des applications, ça ne fonctione plus, j'obtient ça :
	
	
	
		
Mon but est d'obtenir çà :
	
	
	
		
Mon script shell actuel :
	
	
	
		
Peut-être faudrait-il utiliser une autre commande que « find » ou s’en passer en écrivant un truc à la main. Comment faire ?
J'attend votre aide. Nicolas.
	
		
			
		
		
	
				
			Je suis en train de créer un script afin d'avoir une liste du contenu d'un volume cible en excluant les fichiers cachés. Ma version actuelle fonctionne. Le seul problème est l'impossibilité de répertorier les applications qui sont des dossiers. Je ne sais pas du tout de quelle manière m'y prendre pour les listés sans listé aussi l'intérieure.
Si le volumes contient uniquement des fichiers, cela fonctionne, j'obtient ça :
		Bloc de code:
	
	Liste du contenue de « Cle » fait le lundi 27 août 2012 à 19:24:35.
Liste ouverte.
/Cle/À-faire.txt
/Cle/Dosiers B/Fichier B.doc
/Cle/Fichier A.txt
Liste fermer.
	Si le volumes contient des fichiers et des applications, ça ne fonctione plus, j'obtient ça :
		Bloc de code:
	
	Liste du contenue de « Cle » fait le lundi 27 août 2012 à 19:23:13.
Liste ouverte.
/Cle/À-faire.txt
/Cle/Dosiers B/Fichier B.doc
/Cle/Fichier A.txt
/Cle/Support du TRIM pour 10.8.1 et 10.7.5.app/Contents/Info.plist
/Cle/Support du TRIM pour 10.8.1 et 10.7.5.app/Contents/MacOS/applet
/Cle/Support du TRIM pour 10.8.1 et 10.7.5.app/Contents/PkgInfo
/Cle/Support du TRIM pour 10.8.1 et 10.7.5.app/Contents/Resources/applet.icns
/Cle/Support du TRIM pour 10.8.1 et 10.7.5.app/Contents/Resources/applet.rsrc
/Cle/Support du TRIM pour 10.8.1 et 10.7.5.app/Contents/Resources/description.rtfd/TXT.rtf
/Cle/Support du TRIM pour 10.8.1 et 10.7.5.app/Contents/Resources/Scripts/main.scpt
Liste fermer.
	Mon but est d'obtenir çà :
		Bloc de code:
	
	Liste du contenue de « Cle » fait le lundi 27 août 2012 à 19:23:13.
Liste ouverte.
/Cle/À-faire.txt
/Cle/Dosiers B/Fichier B.doc
/Cle/Fichier A.txt
/Cle/Support du TRIM pour 10.8.1 et 10.7.5.app
Liste fermer.
	Mon script shell actuel :
		Bloc de code:
	
	#!/bin/bash
#
# Dernière modification : lundi 27 août 2012.
volumeChoisi="$*"
volumeChoisiEspaceParTiret=$(echo "$volumeChoisi" | sed 's/ /-/g')
cheminDuVolumeChoisi="/Volumes/$volumeChoisi"
dateLongue=$(date "+%A %d %B %Y à %H:%M:%S" | tr '[A-Z]' '[a-z]')
dateCourte=$(date "+%A %d %B %Y à %H:%M:%S" | tr '[A-Z]' '[a-z]') 
fichierDeSortie="À-faire.txt"
if [[ -n "$volumeChoisi" ]]
  then
	
	if [[ `ls /Volumes | grep "$volumeChoisi"` == "$volumeChoisi" && -r "$cheminDuVolumeChoisi" ]]
	  then
		
		if [[ -w "$cheminDuVolumeChoisi" ]]
		  then cd "$cheminDuVolumeChoisi"
		  else cd "$HOME"
		fi
		
		echo "Liste du contenue de « "$volumeChoisi" » fait le $dateLongue."		> $fichierDeSortie
		echo ""										>> $fichierDeSortie
		echo "Liste ouverte."								>> $fichierDeSortie
		echo ""										>> $fichierDeSortie
		find "$cheminDuVolumeChoisi"/* ! -iname ".*" -type f | sed "s/^\/Volumes//g"	>> $fichierDeSortie
		
		echo ""										>> $fichierDeSortie
		echo "Liste fermer."								>> $fichierDeSortie
		
		echo "Listage de « $volumeChoisi » terminé !"
		
		exit
		
  	  else
		
		echo "Le volume n'existe pas ou n'est pas accessible en lecture."
		
		exit
		
	fi
	
  else
	
	echo "Aucun volume choisi."
	
	exit
	
fi
	Peut-être faudrait-il utiliser une autre commande que « find » ou s’en passer en écrivant un truc à la main. Comment faire ?
J'attend votre aide. Nicolas.
			
				Dernière édition: