Pourriez-vous proposer un moyen de copier une liste de fichiers d'un répertoire à un autre.
Pendant la copie, le script doit mettre en majuscule la première lettre du nom de fichier et en minuscule toutes les autres lettres.
Pourriez-vous proposer un moyen de copier une liste de fichiers d'un répertoire à un autre.
Pendant la copie, le script doit mettre en majuscule la première lettre du nom de fichier et en minuscule toutes les autres lettres.
Réponses:
Pour votre considération:
for i in *;
do
fletter=`echo $i| cut -b 1`; # FIRST LETTER
rest=`echo $i | cut -b 2-`; # THE REST
fletter=`echo $fletter | tr "[a-z]" "[A-Z]"`;# CAPITILIZE FIRST LETTER
rest=`echo $rest | tr "[A-Z]" "[a-z]"`; # LOWER CASE THE REST
cp "$i" "/target/directory/$fletter$rest" ; # COPY TO DESTINATION
done
Ici, *
va s'étendre aux fichiers du répertoire en cours. Si vous voulez que cela soit limité à des dossiers seulement, considérez ce qui suit:
find . -type f -print0 | while IFS= read -r -d '' i; do
# rest of the script
done
for i in $(ls)
et pas for i in *
?
\ls -p | grep -v "/"
traiter uniquement les fichiers - pas les répertoires.