J'ai trouvé que le problème se situe au niveau de la variable "path"
Lorsqu'on lit la base de donnée et qu'on écrit les lignes dans un fichier, il y a un CRLF à la fin de chaque path
Par contre, lorsque j'écris moi même
Il y a un LF à la fin de chaque ligne
Le test if ! [[ -f $path ]] ne fonctionne apparemment pas lorsqu'il y a un CRLF à la fin d'un string...
J'ai cherché un moment mais je n'ai malheureusement pas encore réussi à remplacer les CRLF en LF à la fin de chaque path lu depuis la db...
Lorsqu'on lit la base de donnée et qu'on écrit les lignes dans un fichier, il y a un CRLF à la fin de chaque path
Code :
while read -r -u 9 id path
do
echo "Write ${id} ${path}"
echo "$path" >> "D:\file.txt"
done 9< <(sqlite3 -separator $'\t' "$DBFILE" "$QUERY")
Par contre, lorsque j'écris moi même
Code :
echo "D:\MonImage1" >> "D:\file.txt"
echo "D:\MonImage2" >> "D:\file.txt"
echo "D:\MonImage3" >> "D:\file.txt"
Il y a un LF à la fin de chaque ligne
Le test if ! [[ -f $path ]] ne fonctionne apparemment pas lorsqu'il y a un CRLF à la fin d'un string...
J'ai cherché un moment mais je n'ai malheureusement pas encore réussi à remplacer les CRLF en LF à la fin de chaque path lu depuis la db...