#! /bin/bash set -eu # la redéfinition de l'IFS permet de gérer correctement les fichiers avec des espaces dans le nom IFS=$'\n\t' # /foo/bar sera renommé en /Foo/bar # Pour bien faire il faudrait séparer le chemin du nom du fichier if [ $# -lt 1 ] ; then echo "gimme at least one file" exit 1 fi # file = Test/fichier1 for file in "$@" ; do dn=$(dirname $file) bn=$(basename $file) test -f "$file" || continue mv $file ${dn}/${bn^} done