Jump to content
XPEnology Community

Comment faire un listing propre sur NAS54L sur DSM 5²


0ricman
 Share

Recommended Posts

Bonjour,

comment faire un listing "propre" hors des relations

distributeurs vers clients, pour une liste de films par ex.

 

à part :

ls -l > txt.csv,

j'ai n'ai rien trouvé de plus de plus satisfaisant-,

je n'arrive pas à installer le package de Chroot Debian,

chez mis ça plante pour Pytthon,

 

avez vous une idée pour avoir un listing propre d'un

répertoire, ?

 

A propager sur Excel après coup, sauf CVF,

ou libre office,

 

Merci Beaucoup A+

Link to comment
Share on other sites

Bonjour,

 

Quelles informations veux-tu obtenir dans ton listing ?

Si c'est juste la liste de tous les fichiers du répertoire video par exemple, tu peux faire cela :

cd /volume1/video
find . -iname '*[avi|mp4|mkv]' | grep -v "@eaDir" | sort

En te plaçant dans le répertoire video (but de la commande cd, puis en utilisant la commande find, tu obtiens la liste de tous les fichiers correspondant au filtre (ici une expression régulière pour recherche tout ce qui se termine par avi,mp4 ou mkv.

Ensuite le grep -v supprime les répertoires spéciaux du synology et le sort permet de trier la sortie obtenue.

Cela donne juste la liste des fichiers sous la forme :

./chemin/du/repertoire/des/films/nom du film.extension

./chemin/du/repertoire/des/séries/nom du film.extension

Ensuite, on peut remplacer les / par des tabulations, pour séparer les dossiers, ou importer la ligne via LibreOffice ou Excel en indiquant comme séparateurs les /.

Précise plus tes attentes si tu veux plus d'aide.

 

Jacques

Link to comment
Share on other sites

Bonjour,

 

merci pour le tuyau, mais comment l'enregistrer et dans quel format,

c'est ce que cherchais, mais j'aimerai aussi que la taille en Mo soit affiché aussi,

Je ne sais pas s'il faut l'enregistrer en .CSV pour Excel ou autre extension,

je ne suis pas un pro des lignes de commandes unix,

merci tout de même, ça avance le schmilblick

 

Lol

Link to comment
Share on other sites

Je ne suis pas chez moi pour tester.

Mais pour l'enregistrer, il suffit de rediriger la commande dans un fichier.

Si on considère que tu te places dans le répertoire video de ton NAS, il suffit de taper la commande find et à la fin de celle-ci d'ajouter la redirection vers le fichier :

find . -iname '*[avi|mp4|mkv]' | grep -v "@eaDir" | sort > MonFichierDeResultats.txt

Ensuite, le fichier peut être ouvert avec Excel pour être "nettoyé" des informations inutiles, ou séparer les lignes en indiquant le / comme séparateur lors de l'importation.

 

Je regarderai pour afficher la taille avec quelques commandes un peu plus poussées quand j'aurais la main sur le NAS.

Jacques

Link to comment
Share on other sites

ok merci, ça je savais déjà, mais comment ajouter les octets des fichiers justement dans le tri "sort"

et la commande "@eaDir" c'est quoi ?

merci beaucoup, je progresse, j'ai enregistré à la racine du répertoire Films

qui contient des sous-répertoires, ça fonctionne, j'ai importé sous Excel 2013 en fichier .txt

ça marche bien, par contre j'ai essayé dans un répertoire "Dowloads" ou il n'y a pas de sous-répertoires,

et là j'obtiens un fichier de zéro octets, alors qu'il y a 470 films dedans que je dois trier, pour les mettre

dans "Films" ou pas,

là, la commande ne marche pas, qu'est ce qu'il faudrait changer dans la ligne de commande pour avoir

juste le la liste des films et des Mo en face ?

merci encore

A bientôt

cordialement

Laurent

Link to comment
Share on other sites

Essaye ces commandes :

cd /volume1/video
find . -iname '*[avi|mp4|mkv]' | grep -v "@eaDir" | sort > TempFile
while read File ; do if [ -f "$File" ] ; then echo -e "$File\t\c" ; ls -lh "$File" | awk '{print $5}' ; fi ; done < TempFile > Resultat.txt
rm -f TempFile 

 

C'est un mini script qui exécute les actions suivantes :

01) Se placer dans le dossier video (commande cd)

02) Créer un fichier temporaire en recherchant tous les fichiers (commande find) dont le nom (option -iname => quelque soit la casse) se termine par avi ou mp4 ou mkv

03) Filtrer dans les résultats les répertoires propre aux informations sur les films gérés par le syno (grep -v "@eaDir")

04) Trier les résultats qui sont envoyés dans le fichier TempFile.

05) Créer une boucle de lecture du fichier avec chaque ligne (donc chaque film) est stocké dans une variable nommée File (while read File ; do)

06) Tester si c'est un fichier (if [ -f "$File" ] ; then)

07) Si c'est un fichier, alors écrire son nom (echo -e "$File") avec l'ajout d'une tabulation (\t) en fin de ligne, sans revenir à la ligne (\c)

08) Exécuter la commande ls pour afficher les détails du fichier (option -l) en indiquant la taille au format "humain" (option -h)

09) Filtrer uniquement la taille du fichier avec la commande awk (on affiche le 5ème champ du résultat avec '{print $5}')

10) Fin du test du fichier (fi) et de la boucle de lecture du fichier TempFile (done < TempFile)

11) Envoi des résultats dans un fichier "Resultat.txt" (redirection du résultat du script avec >)

 

Cela devrait donner un résultat de ce style :

./Documentaires/Cash investigation/S01E01 - Les vendeurs de maladie.avi        600.0M
./Documentaires/Cash investigation/S01E02 - Marketing vert, le grand maquillage.avi        815.1M
./Documentaires/Cash investigation/S01E03 - Paradis fiscaux, les petits secrets des grandes entreprises.avi        732.3M
./Documentaires/Cash investigation/S01E04 - Tissus toxiques.avi        742.9M
./Documentaires/Cash investigation/S01E05 - Neuromarketing, votre cerveau les intéresse.avi        683.4M
./Documentaires/Cash investigation/S01E06 - La mort programmée de nos appareils.avi        772.8M
./Documentaires/Cash investigation/S01E07 - La finance folle.avi        690.1M
./Documentaires/Cash investigation/S01E08 - Gavés de sucre.avi        698.3M

 

Jacques

Link to comment
Share on other sites

merci, chouetoss comme réponse à ma demande, bien expliqué, bien formaté, bien vendu,

j'en demandais pas tant, super, merci encore

ça me donne envie d''être un pro du bash,

super merci,

je crois avoir compris le truc

même si c'est pas forcément ma tasse de thé,

c'est impressionnant ce que qu'on peut faire en quelques lignes sous linux

ça m'épate,...

Link to comment
Share on other sites

 Share

×
×
  • Create New...