#1 Le 09/06/2015, à 07:40
- jobutane
Lancement Script media info
Bonjour,
j'ai trouver le script ci dessous pour simplifier les résultat de Media info pour les fichiers audio.
mais je n'ai pas réussi a le lancer, j'ai ajouter l'extension .sh et autorisé le fichier a s’exécuter mais rien ne se passe.
######################################################################
#
# $Id: mp3info 1921 2012-01-26 09:26:18Z phil $
#
######################################################################
usage() {
echo "usage: $0 [-m | -f] [nCol] [ dir ] "
exit 1
}
ext=flac
# if "-m" look for MP3 files
[ "a$1" = a-m ] && shift && ext=mp3
# if "-f" look for FLAC files (default)
[ "a$1" = a-f ] && shift && ext=flac
col=40
# if col=0, display titles entirely
[ "$1" -ge 0 ] 2>/dev/null && col=$1 && shift
[ -d "$1" ] && totalsize=`du -s "$1" | awk '{print $1}'`
&& set "$1"/*.$ext
if echo $0|grep -q titles
then
col=0
fi
[ a$dir = a ] || cd $dir
[ -f "$1" ] || usage
file=/tmp/mp3info$$
mediainfo "$1" | sort -u > $file
artist=`awk -F: '$1~/^Performer/ { print $2 }' $file`
album=`awk -F: '$1~/^Album/ { print $2 }' $file`
genre=`awk -F: '$1~/^Genre/ { print $2 }' $file`
year=`awk -F: '$1~/^Recorded/ { print $2 }' $file`
ripper=`awk -F: '$1~/^Writing/ { print $2 }' $file`
format=`awk -F: '$1~/^Format / { print $2 }' $file`
fprof=`awk -F: '$1~/^Format p/ { print $2 }' $file`
fvers=`awk -F: '$1~/^Format v/ { print $2 }' $file`
rate=`awk -F: '$1~/^Sampling/ { print $2 }' $file`
channels=`awk -F: '$1~/^Channel/ { print $2 }' $file`
sep="---------------------------------------------------------------------------"
if [ "$col" -ne 0 ] ; then
printf "%sn%sn(%s )n%snn" "$sep" "$album" "$artist" "$sep"
printf "%-20s: %sn" "Artist" "$artist"
printf "%-20s: %sn" "Album" "$album"
printf "%-20s: %sn" "Genre" "$genre"
printf "%-20s: %sn" "Year" "$year"
printf "%-20s: " Ripper ; echo "$ripper"
printf "%-20s: %s %s %sn" Format "$format" "$fprof" "$fvers"
printf "%sn" "$sep"
case $col in
1)
fmt='%2s|%-40s|%10s|%10s|%10sn%sn'
;;
*)
fmt='%2s|%-'$col's|%10s|%10s|%10sn%sn'
esac
printf "$fmt" " #" Title "duration" "size" "bitrate" $sep
fi
typeset -i n
n=1
while [ a"$1" != a ]
do
[ -f "$1" ] || usage
file=/tmp/mp3info$$
mediainfo "$1" | sort -u > $file
bitrate="`awk -F: '$1~/^Overall bit rate[ ]*$/ { print $2 }' $file`"
duration="`awk -F: '$1~/^Duration/ { print $2 }' $file | head -1`"
# awk -F: '$1~/^Overall bit rate mode/ { print $2 }' $file
# mode="`awk -F: '$1~/^Overall bit rate mode/ { print $2 }' $file`"
size="`awk -F: '$1~/^File/ { print $2 }' $file`"
case $col in
[01])
track="`awk -F: '$1~/^Track name / { print $2 }' $file`"
;;
*)
track="`awk -F: '$1~/^Track name / { print $2 }' $file | cut -c1-$col`"
esac
[ -z "$track" ] && track="$1"
index="`awk -F: '$1~/Position / { print $2 }' $file`"
[ a"$index"=a ] && index=$n
n=$n+1
case $col in
1)
fmt='%2s|%-40s|%10s|%10s|%s %sn'
;;
0)
fmt='%2s|%sn'
;;
*)
fmt='%2s|%-'$col's|%10s|%10s|%s %sn'
esac
if [ "$col" -ne 0 ] ; then
printf "$fmt" "$index" "$track" "$duration" "$size" "$bitrate" "$mode"
else
printf "$fmt" "$index" "$track"
fi
shift
done
if [ $col -gt 0 ]
then
printf "%sn" $sep
echo "total size : " $totalsize "KB."
echo
echo "NFO generated on " `date`
rm $file
fi
exit 0
##############################################################
Dernière modification par jobutane (Le 09/06/2015, à 08:11)
MacPro 2.80GHz×4 Ram 16G SSD 250G 500G DD 1T Voyager 20.04 64B
Hors ligne
#2 Le 09/06/2015, à 08:13
- pingouinux
Re : Lancement Script media info
Bonjour,
Sauvegarde le script (dans ton home, par exemple), puis, dans un terminal, tu tapes ces commandes
chmod u+x /...../chemin/le_script # Pour donner la permission d'exécution
/...../chemin/le_script # Pour lancer le script
Hors ligne
#3 Le 09/06/2015, à 09:37
- jobutane
Re : Lancement Script media info
merci pingouinux j'ai essayer tes commandes et ça ma renvoyer une erreur peut etre que le script mal bidouiller
jo @ jo-MacPro ~
└─ $ ▶ chmod u+x /home/jo/Outils/mediainfoZic.sh
jo @ jo-MacPro ~
└─ $ ▶ /home/jo/Outils/mediainfoZic.sh
/home/jo/Outils/mediainfoZic.sh: ligne 22: Erreur de syntaxe près du symbole inattendu « && »
/home/jo/Outils/mediainfoZic.sh: ligne 22: `&& set "$1"/*.$ext'
MacPro 2.80GHz×4 Ram 16G SSD 250G 500G DD 1T Voyager 20.04 64B
Hors ligne
#4 Le 09/06/2015, à 11:04
- pingouinux
Re : Lancement Script media info
Il manque le début de la ligne 22.
Hors ligne
#5 Le 09/06/2015, à 11:12
- jobutane
Re : Lancement Script media info
donc il y a des erreurs dans le script? dommage...
et comme j'y connais rien codage j'en ferais rien.
MacPro 2.80GHz×4 Ram 16G SSD 250G 500G DD 1T Voyager 20.04 64B
Hors ligne
#6 Le 01/01/2017, à 03:06
- alt.G
Re : Lancement Script media info
Bonjour, je viens réveiller un sujet pas tout récent, mais avec mes très faibles connaissances en codage, j'ai réussi à modifier ce script pour le rendre fonctionnel.
Vous pouvez le trouver à cette page: Script musicNFO par alt.g sur doc.ubuntu-fr.org
Hors ligne
#7 Le 01/01/2017, à 17:31
- Watael
Re : Lancement Script media info
àmha, il ne suffit pas de réparer ce script, ou de l'optimiser; il faudrait le réécrire entièrement et proprement.
notamment, une commande awk pour chaque variable, c'est pas possible !
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne