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: