0 votes

List All Files in USB device from /Volumes Shell script (Liste de tous les fichiers sur le périphérique USB)

Pour clarifier les choses, j'ai configuré des actions de dossier sur mon Mac pour que chaque fois qu'un périphérique USB est branché sur mon Mac, il exécute un shell script.

Lorsque je liste tous les fichiers du répertoire /Volumes, j'obtiens

$ ls -a
.       ..      .DS_Store   MobileBackups   Storage     WED

Ce que je veux faire, c'est lister tous les dossiers et fichiers situés dans WED ou dans n'importe quel USB qui se présente, donc en excluant les répertoires

.       ..      .DS_Store   MobileBackups   Storage

Me laissant avec

WED

Ce que j'ai pour le script jusqu'à présent est :

GLOBIGNORE='/Volumes/MobileBackups*':'/Volumes/Storage*'
find '/Volumes' >> /Users/Brett/dev/USBLOGS/LogUSB.txt

J'ai essayé plusieurs méthodes différentes, mais la liste de tous les fichiers du répertoire /Volumes s'affiche toujours.

Toute aide serait grandement appréciée. Merci, Brett

De plus, il est compatible avec MAC OS X El Capitan

1voto

Michael Zhou Points 167

Voici une variante de la solution de l'utilisateur 3439894 sans paramétrage de l'IFS ni bouclage.

system_profiler SPUSBDataType | awk -F": " '/Mount Point/ {printf("%s%c", $2, 0)}' | xargs -0 -IX find X >outfile

Les données sont analysées à partir de system_profiler avec awk . awk imprime les points de montage terminés par le caractère null qui est ensuite transmis à xargs et les résultats sont écrits dans outfile .

Pour exclure les fichiers point de la sortie, ajoutez l'option ! -name (et non pas name) et ! -path (et non path) à la commande find.

system_profiler SPUSBDataType                       |
awk -F": " '/Mount Point/ {printf("%s%c", $2, 0)}'  |
xargs -0 -IX find X ! -name '.*'  ! -path 'X/.*/*' 2>/dev/null >outfile

0voto

chazlarson Points 446

Mon répertoire /Volumes :

   /Volumes  ls
BOOTCAMP      Cool Stuff    Macintosh HD  Recovery HD

Cette commande ne répertorie que les fichiers se trouvant sur le disque dur de récupération :

  /Volumes  find . -type d \( -name BOOTCAMP -o -name Cool\ Stuff \) -prune -o -print
.
./Macintosh HD
./Recovery HD
./Recovery HD/.fseventsd
./Recovery HD/.fseventsd/no_log
./Recovery HD/.metadata_never_index
./Recovery HD/.Trashes
find: ./Recovery HD/.Trashes: Permission denied
./Recovery HD/com.apple.boot.R
./Recovery HD/com.apple.boot.R/Library
...snip...

Vous pouvez ajouter d'autres lecteurs à cette liste :

\( -name BOOTCAMP -o -name Cool\ Stuff -o -name Foo -o -name Bar -o -name Baz \)

Trouvé ici : http://www.theunixschool.com/2012/07/find-command-15-examples-to-exclude.html

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X