en simplifiant le code tu y verras peut-être plus clair.
la déclaration préalable des variables n'est pas indispensable, en dehors des tableaux associatifs pour qui c'est une question de vie ou de mort, ou pour typer une variable numérique.
pourquoi for fichier1 ? quand la boucle en sera au deuxième fichier tu vas aller éditer le script pour changer en fichier2 ? 
simplement for fichier in *.pdf, et je ne reviens pas sur le ls : tu as déjà reçu la fessée de par t par Sve@r. 
mais
ON N'UTILISE PAS
ls DANS UN SCRIPT !!!
if (( $ddate == 000000 ))
si une ddate commence par un zéro, tu vas avoir une belle erreur.
bien qu'une date semble être un nombre pour un humain, il est préférable de la comparer en tant que chaîne.
len=`echo $ddate |awk '{print length}'`
non, non : mais ça sert à rien :
IFS='/' read jour mois an <<<"$ddate"
et hop ! une bonne partie du code en moins. 
nom_fichier=BL_$ddate\_$gcc\_$client.pdf
non,non plus :
nom="BL_${ddate}_${gcc}_$client.pdf"
tiens! pour la route :for col in {9..13}, et pas col1
Partager