![Citation](https://forum.developpez.be/images/misc/quote_icon.png)
Envoyé par
RIPS78
1 / Affiche ou pas ?
Il faudrait que le script liste le répertoire ATV_USB ( qui correspond à mon disque dur externe, en réalité /Volumes/ATV_USB ) ainsi que ces sous-répertoires ( et oui car j'ai tout classé suivant : Films / Séries / Animés / ... ) et vérifie si pour chaque fichier AVI ou MP4 ( DVD passés sous Handbrake sort en AVI ou MP4) il existe bien un fichier JPG correspondant !
Exemple : pour UnderTeam.avi doit exister UnderTeam.jpg
Attention, le script devra être sensible à la casse, les noms de fichiers devront donc être complètement identique.
Au final devrait sortir un fichier log, ou seuls les films n'ayant pas d'affiches apparaîtraient !
Pas de problème
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| #!/bin/sh
# Initialisation fichier log
>fichier_log
# Traitement de la liste des films dans une boucle
find /volume/ATV_USB -name "*.avi" -o -name "*.mp4" -print |while read film
do
# Récupération du nom (sans l'extension)
name=`echo "$film" |cut -f1 -d\.`
# Vérification si ".jpg" existe ou bien écriture dans fichier log
test -s "$name.jpg" || echo $film >>fichier_log
done |
![Citation](https://forum.developpez.be/images/misc/quote_icon.png)
Envoyé par
RIPS78
2 / Liste des films
Ce script devra scanner le répertoire ATV_USB et sortir la liste des fichiers présents ( sauf les fichiers JPG sinon c'est pas drôle :p ) et aussi supprimer l'extension des fichiers AVI/MP4 et ainsi offrir une jolie liste !
find /volume/ATV_USB -name "*.avi" -o -name "*.mp4" -print |cut -f1 -d\.
![Citation](https://forum.developpez.be/images/misc/quote_icon.png)
Envoyé par
RIPS78
Si possible, faire un petit effort de présentation, exemple :
- Films
-- R
--- RIPS
-- U
--- Under Team
Tu veux pas 100 balles aussi ? De toute façon, la philosophie d'Unix c'est "mon script en fait le minimum ce qui le rend modulaire (on peut l'intégrer de partout) et s'il faut habiller le résultat ben je pipe vers un programme (qui peut être un autre script) destiné à l'habillage (comme "pr" par exemple)
![Citation](https://forum.developpez.be/images/misc/quote_icon.png)
Envoyé par
RIPS78
Voilà j'espère que c'est assez clair, je sais bien coder le début, mais après je loose alors bon...
J'ai jeter un oeil du côté de "xargs" / "find" / "ls" / ... mais je ne trouve pas comment mettre tout ça en oeuvre correctement
![:(](https://www.developpez.net/forums/images/smilies/icon_sad.gif)
Ah ben faut travailler le shell !!! Cours Shell Linux : http://linux.developpez.com/cours/
![Citation](https://forum.developpez.be/images/misc/quote_icon.png)
Envoyé par
RIPS78
Merci à celui qui m'aidera
![:)](https://www.developpez.net/forums/images/smilies/icon_smile.gif)
Pas de pb
Partager