0ricman Posted May 31, 2016 #1 Posted May 31, 2016 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+
JacquesF Posted June 1, 2016 #2 Posted June 1, 2016 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
0ricman Posted June 1, 2016 Author #3 Posted June 1, 2016 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
JacquesF Posted June 4, 2016 #4 Posted June 4, 2016 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
0ricman Posted June 4, 2016 Author #5 Posted June 4, 2016 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
JacquesF Posted June 6, 2016 #6 Posted June 6, 2016 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
0ricman Posted June 7, 2016 Author #7 Posted June 7, 2016 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,...
Recommended Posts