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 :

nautilus-script01.png

Ce qui donne :

nautilus-script02.png

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 640x480 -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 704x384 -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 800x600 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 800x600 $img 800x600-$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