Script qui n'en fait qu'à sa tête
Bonjour,
j'ai fait un script qui permet de renommer les fichiers par leurs dates. Je ne comprend pas. La bouche se fait une première fois sur le premier fichier. Mais sur les fichiers suivants, elle ne s'exécute pas.
Code:
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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
|
#!/bin/bash
clear
#set -x
###
###TRAITEMENT DE LA DATE ===============================================
gcc="000000"
client="00000000"
fichier1="fichier1"
ddate="000000"
nom_fichier="nom_fichier"
cd /home/christophe/bl-clients/temp/
for fichier1 in $(ls *.pdf)
do
###TRAITEMENT DE LA DATE ==========================================
for col1 in 9 10 11 12 13
do
if (( $ddate == 000000 ))
then
ddate=$(pdfgrep --max-count 1 "Date" $fichier1 | awk -v col2=$col1 '{print $col2 }')
len=`echo $ddate |awk '{print length}'`
if [ $len -eq 7 ];
then
dateAA=$(echo $ddate | cut -b 6-7)
dateMM=$(echo $ddate | cut -b 3-4)
dateJJ=$(echo $ddate | cut -b 1)
dateJJ="0$dateJJ"
fi
if [ $len -eq 8 ];
then
dateAA=$(echo $ddate | cut -b 7-8)
dateMM=$(echo $ddate | cut -b 4-5)
dateJJ=$(echo $ddate | cut -b 1-2)
fi
ddate=20$dateAA$dateMM$dateJJ
if [[ "$ddate" =~ [0-9]{8} ]]
then
ddate=$ddate
else
ddate="000000"
fi
fi
done
###FIN TRAITEMENT DE LA DATE ==========================================
nom_fichier=BL_$ddate\_$gcc\_$client.pdf
echo "fichier="$nom_fichier
read -p "enter to continue"
done |
j'ai mis le script. j'explique vaguement le fonctionnement . Il cherche une date sur une ligne. ensuite il l'a cute bref un joli moulin à café.
merci de votre aide.