All pastes #285247 Raw Edit

Sans titre

public text v1 · immutable
#285247 ·published 2006-12-19 18:39 UTC
rendered paste body
#!/bin/bash

### Script pour ré-écrire le noms des ### fichiers en minuscule ou majuscule ### suivant l'option demandée.

# Vérifie si le fichier est déjà en minuscule et l'ignore

function minuscule
{
if [ -d "$2" ]
then
DIR=$2
fi
if [ -f "$2" ]
then
DIR=""

echo
echo "Répertoire de traitement :" $DIR
echo "Répertoire de traitement :" $2

echo
echo "Liste des fichiers avant traitement :"
ls $DIR

fi
for a in `ls $DIR`
do
fname=`echo $a | tr A-Z a-z`
if [ "$fname" != "$a" ]
then
mv $DIR/$a $DIR/$fname
fi
done

echo
echo "Liste des fichiers aprés traitement :"
ls $DIR
}

# Vérifie si le fichier est déjà en majuscule et l'ignore

function majuscule
{
if [ -d "$2" ]
then
DIR=$2
fi
if [ -f "$2" ]
then
DIR=""

echo
echo "Répertoire de traitement :" $DIR
echo "Répertoire de traitement :" $2

echo
echo "Liste des fichiers avant traitement :"
ls $DIR

fi
for a in `ls $DIR`
do
fname=`echo $a | tr a-z A-Z`
if [ "$fname" != "$a" ]
then
mv $DIR/$a $DIR/$fname
fi
done

echo
echo "Liste des fichiers aprés traitement :"
ls $DIR
}

# Vide l'écran

clear

# Affiche le nom du script

echo "Nom du script :" $0

# Affiche le PID du script

echo "PID du script :" $$

# Affiche le nombre d'argument passé au script

echo
echo $# "argument(s)"

# Affiche le premier argument

echo
echo "Premier argument :" $1

# Affiche le second argument

echo "Second argument :" $2
echo

# teste si il y a deux arguments à la suite du programe

if [ "$#" -ne 2 ]
then
echo "commande :" $0 "arg1 arg2"
exit 1
fi

# teste  si le premier argument et -m ou -M

case $1 in
	"-m")	
	echo "minuscule"
	minuscule
	;;

	"-M")
	echo "MAJUSCULE"
	majuscule
	;;

	*)
	echo "Les arguments sont :"
	echo "-m"
	echo "-M"
	;;
esac