A noter que toutes les commandes suivantes sont pour le shell de base (#!/bin/sh) et donc devraient être compatible pour n'importe quel interpréteur (bash, csh, tcsh, ...) :)

Je donne la solution que j'utilise habituellement, mais il existe évidemment une multitude de possibilités différentes via d'autres commandes (expr, tr, ...).

Faire des remplacement de caractères au sein d'une chaîne :

ma_chaine="Ceci est une chaîne"
replaced=${ma_chaine//une /une longue }
 
echo $replaced

Faire des calculs :

a=5
b=6
sum=$(($a + $b))
 
echo $sum

Faire un substring :

a="Hello, World"
b=${a:0:5}
 
echo $b

Faire un upperCase :

ma_chaine="test"
upper=`echo $ma_chaine | tr [a-z] [A-Z]`
 
echo $upper

Pour pouvoir exécuter sa commande depuis n'importe ou :

cd `dirname $0`
 
current_folder=`pwd`
echo "I'm now in folder $current_folder"

Compter le nombre de ligne d'un fichier :

number_lines=`cat monFichier | wc -l`
echo $number_lines

Parser correctement tous les paramètres d'un script :

while [ $# -gt 0 ]; do
   echo $1
   shift
done

Supprimer tous les répertoires avec un nom spécifique (.svn par exemple) récursivement dans une arborescence :

find . -name \.svn -exec rm -rf {} \;

Si vous avez d'autres petits bouts de code dans le genre, n'hésitez pas à m'en faire part dans les commentaires !