« 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=500height=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=500height=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