« Voila un fonctionnalité bien pratique dans gnome, les scripts nautilus. Il suffit de rajouter des scripts bash dans le dossier ~/.gnome2/nautilus-scripts pour les voir apparaitre dans le menu contextuel de nautilus. On peut par exemple utiliser un script de nettoyage des noms de fichier. Avec le scripts ~/.gnome2/nautilus-scripts/replace_space.sh on a :
Ce qui donne :
NB 1 : ne pas oublier de rendre les scripts exécutables
NB 2 : _/!\_ Par principe de précaution, je vous conseille de commencer à utiliser un script qui, au final supprime ou modifie un fichier, sur une copie de vos fichiers, histoire de voir que tout se passe bien.
Voila ceux dont je me sert le plus souvent (maj 12/04/2008) :
Encode_TS.sh :
Encode_TS_4-3.sh
Encoder en Xvid au format 4/3 avec ffmpeg un enregistrement .ts de Freebox HD
#!/bin/bash
encode_ts ()
{
for parametre in « $@ »;
do
ext=`echo $parametre | awk -F « . » ‘{print $NF}’`
avi_name=`echo ${parametre/$ext/avi}`
xterm -e « echo | /usr/bin/ffmpeg -i « $parametre » -r 29.97 -vcodec xvid -s 640×480 -aspect 4:3 -maxrate 1800k -b 1500k -qmin 3 -qmax 5 -bufsize 4096 -mbd 2 -bf 2 -flags +4mv+trell -aic 2 -cmp 2 -subcmp 2 -g 300 -acodec mp3 -ar 48000 -ab 128k -ac 2 « $avi_name« »
done
}
## Traitement
encode_ts « $@ »
Encode_TS_16-9.sh
Encoder en Xvid au format 16/9 avec ffmpeg un enregistrement .ts de Freebox HD
#!/bin/bash
encode_ts ()
{
for parametre in « $@ »;
do
ext=`echo $parametre | awk -F « . » ‘{print $NF}’`
avi_name=`echo ${parametre/$ext/avi}`
xterm -e « echo | /usr/bin/ffmpeg -i « $parametre » -r 29.97 -vcodec xvid -s 704×384 -aspect 16:9 -maxrate 1800k -b 1500k -qmin 3 -qmax 5 -bufsize 4096 -mbd 2 -bf 2 -flags +4mv+trell -aic 2 -cmp 2 -subcmp 2 -g 300 -acodec mp3 -ar 48000 -ab 128k -ac 2 « $avi_name« »
done
}
## Traitement
encode_ts « $@ »
800x600_resize.sh :
Converti la taille en 800×600 des photos sélectionnées, nécessite le paquet imagemagick
sudo apt-get install imagemagick
#!/bin/bash
do_800x600 ()
{
for img in « $@ »;
do
convert -resize 800×600 $img 800×600-$img
done
}
do_800x600 « $@ »
play_TV.sh :
En DualHead joue avec mplayer la vidéo séléctionnée sur le deuxième display (TV par exemple)
#!/bin/bash
#play_TV.SH
export DISPLAY=:0.1
mplayer -vo xv -fs « $1 »
export DISPLAY=:0.0
Variante avec VLC
#!/bin/bash
export DISPLAY=:0.1
vlc -f « $1 »
export DISPLAY=:0.0
play_XMMS.sh :
Joue dans XMMS tous le fichiers du dossier (et sous dossier) sélectionné
#!/bin/bash
xmms « $1 »*
replace_space.sh :
Renomme les fichiers ou dossiers passés en paramètres en replaçant les espaces par des underscrores _
#!/bin/bash
# Renomme les fichiers ou dossiers passés en paramètres en replaçant les espaces par des underscrores _
numParam=1
for parametre in « $@ »; do
old_name=« $parametre »
new_name=`echo « $parametre » | tr -s ‘ ‘ ‘_’`
mv « $old_name » « $new_name »
let $[numParam += 1]
done
par2repair.sh :
Permettra de reconstituer le fichier original d’une archive manquante ou abîmée
#!/bin/sh
par2repair -q « $1 » | zenity –text-info –title « PAR2 » —width=500 —height=500
exif_photos_rename_v1.2.sh :
Mise à jour script exif_photos_rename_1.2, renommer les photos selon les données EXIF
#!/bin/bash
############################################################################################
# Taltan – http://www.taltan.fr – ola.taltan_AT_laposte.net #
############################################################################################
# Script exif_photos_rename_v1.2.sh #
# Licence : GNU / GPL #
############################################################################################
# Renomme les photos selon les données EXIF sous la forme : #
# ${aa}-${mm}-${jj}_${hh}.${min}_${numero}.ext => ex : 20061104_19.41_007.jpg #
# Fonctionne pour une numérotation de 001 à 999 #
############################################################################################
# Dépendances #
############################################################################################
# – Nécessite le paquet exiftool : http://www.sno.phy.queensu.ca/~phil/exiftool/ #
# – Nécessite le paquet zenity : http://library.gnome.org/users/zenity/index.html.fr #
# => sudo apt-get install libimage-exiftool-perl zenity #
############################################################################################
# 15/07/07 – v1.0 – Création #
# 27/07/07 – v1.1 – Réorganisation #
# – Choix du début de numérotation, par défaut à 1 #
# 09/07/08 – v1.2 – Remplacement de imagemagick par exiftool pour le traitement #
# – Ajout boîte de dialogue de barre de progression en pourcentage #
############################################################################################
## Variables
nb_param=« $# »
erreur=0
typeset -i CNT=1
typeset -i CUR=0
## Fonctions début de numérotation
début_numerot ()
{
numParam=`zenity –title « Début de numérotation » –entry-text=« 1 » –entry –text « Par défaut à 1, à modifier le cas échéant : »`
if [ $? != 0 ]; then
exit 1
fi
[ $? -ne 0 ] && exit 2 # Annulation
}
## Fonctions renommage des fichiers
rename_jpeg ()
{
for parametre in « $@ »;
do
old_name=« $parametre »
date_time=`exiftool « $parametre » | grep « Create Date »`
extension=`echo $parametre | awk -F « . » ‘{print $NF}’`
aa=`echo $date_time | cut -d: -f2 | cut -c2-5`
mm=`echo $date_time | cut -d: -f3`
jj=`echo $date_time | cut -d: -f4 | cut -c1-2`
hh=`echo $date_time | cut -d: -f4 | cut -c4-5`
min=`echo $date_time | cut -d: -f5`
if [ $numParam -gt 0 ] && [ $numParam -lt 10 ]; then
numero=00$numParam
fi
if [ $numParam -gt 9 ] && [ $numParam -lt 100 ]; then
numero=0$numParam
fi
if [ $numParam -gt 100 ] ; then
numero=$numParam
fi
new_nane=`echo ${aa}${mm}${jj}_${hh}.${min}_${numero}.${extension}`
cp « $old_name » « ${new_nane} »
if [ $? = 0 ] ; then
echo « ${old_name} => ${new_nane} …. OK » >> /tmp/exif_photos_rename.log
rm -f « $old_name »
else
echo « Impossible de renommer $old_name …. NOK » >> /tmp/exif_photos_rename.log
let $[erreur += 1]
fi
CUR=$CNT*100/$nb_param
echo $CUR
echo « #Traitement de $nb_param photos\n${old_name} => ${new_nane} … en cours\n\nAvancement: $CUR %\n «
CNT=$CNT+1
let $[numParam += 1]
done
nb_renomme=$(( $nb_param – $erreur ))
if [ $erreur != 0 ] ; then
touch /tmp/exif_photos_rename.err
echo « #Fin de traitement : $nb_param fichiers\n\nFichiers renommés : $nb_renomme\nFichiers impossible à renommer : $erreur\n\n _!!_ Cliquer sur Valider pour afficher le rapport de traitement _!!_\n«
else
echo « #Fin de traitement : $nb_param fichiers\n\nFichiers renommés : $nb_renomme\nFichiers impossible à renommer : $erreur\n\nOK, vous pouvez fermer en cliquant sur Valider !\n«
fi
}
## Fonctions affichage du rapport de traitement
affich_log ()
{
if [ -f /tmp/exif_photos_rename.err ] ; then
cat /tmp/exif_photos_rename.log | zenity –text-info –title « /tmp/exif_photos_rename.log » —width=500 —height=500
fi
rm -f /tmp/exif_photos_rename.log
rm -f /tmp/exif_photos_rename.err
}
## Traitement
if [ « $# » -eq 0 ]; then
zenity –error —title=« error » —text=« Selectioner au moins 1 fichier »
exit 1
fi
début_numerot
rename_jpeg « $@ » | zenity –progress —title=« exif_photos_rename » —percentage=0
affich_log
Fin de citation »
Source: blog.taltan.bkp