Compatible avec: bash
Bonjour,
j'ai un exercice à faire :
Ecrivez un script bash appelé normalise qui prend en argument un nom de répertoire ou bien aucun argument et qui renomme tout fichier du répertoire donné en argument (ou a défaut du répertoire courant) dont
le nom contient des espaces et/ou des majuscules en remplaçant les espaces par des soulignés et les
majuscules par leurs minuscules correspondantes.
Dans le cas particulier où le renommage d’un fichier correspond à un fichier déjà existant dans le répertoire la
modification de nom n’est pas effectuée et un message l’indiquant est affiché sur la sortie d’erreur.!
et j'ai fais ca :
et le terminal me répond
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 !/bin/bash if [ -d $1 ] ; then if [$1 eq ""] ; then cd $HOME ; fi else cd $1 ; fi for fichier in * do if [ -f $fichier ] ; then if [[ $fichier == *[A-Z]* ]] ; then if [ -e $1 | tr "A-Z" "a-z"] ; then echo "Le fichier $fichier ne peut être traiter." exit else mv $fichier tr "A-Z" "a-z" if [ -e $1 | tr " " "-"] ; then echo "Le fichier $fichier ne peut être traiter." exit else mv $fichier tr " " "-" fi fi fi fi fi fi done fi 2>/dev/null
: No such file or directoryin/bash
./normalise.sh: line 2: $'\r': command not found
./normalise.sh: line 7: syntax error near unexpected token `$'\r''
'/normalise.sh: line 7: ` else cd $1 ; fi
Partager