#!/bin/bash OUTPUT_DIR="/media/bvandepo/25228E1E7D338845/films/" INPUT_FILENAME="listepouralain.txt" #fichier qui contient une liste de dossier/fichier entouré de ' old_IFS=$IFS # sauvegarde de l'ancien séparateur de champ IFS=$'\n' #le séparateur par defaut (espace) ne va pas car les noms de fichiers listés peuvent en contenir mais doivent être traités en une seule fois #on règle un nouveau séparateur de champ, le caractère fin de ligne mkdir -p ${OUTPUT_DIR} while read line #for each line of list do if [ ! -z "${line}" ]; #avoid processing empty lines then echo processing ${line} #supprime le premier caractère ' et les 2 derniers caracteres ' et \r filename=${line:1:$((${#line}-3))} echo processing ${filename} #cp "${filename}" "${OUTPUT_DIR}" rsync -av "${filename}" "${OUTPUT_DIR}" fi done < $INPUT_FILENAME IFS=$old_IFS # rétablissement du séparateur de champ par défaut