Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 15/11/2015, à 20:25

frere capsule

[Résolu] copier coller en masse avec control sur la date de création

Bonjour,

Je dois copier/coller une grande quantité de fichiers. Si le fichier existe deja je veux le remplacer automatiquement.
Mon problème c'est que deux fichiers de même nom ne sont pas forcément les mêmes. Par contre je suis sur que s'ils n'ont pas été crée à la même date, alors ils sont différents.
Donc j'aimerai savoir comment faire une commande : copier/coller et remplacer seulement si les deux fichiers ont la même date de création.

Vous auriez une astuce pour faire ça ?

Dernière modification par frere capsule (Le 15/11/2015, à 21:33)

Hors ligne

#2 Le 15/11/2015, à 21:06

Hizoka

Re : [Résolu] copier coller en masse avec control sur la date de création

Salut,

peut etre un truc du genre :

# Dossier dont les fichiers doivent être copiés
infolder="/home/hizoka/Download/Nouveau dossier (1)"
# Dossier dans le quel il faut coller les fichiers ci dessus
outfolder="/home/hizoka/Download/Nouveau dossier (2)"

# Boucle sur les fichiers à copier, les dossiers ne sont pas pris en comptes
for file in "${infolder}"/*
do
 # Nom du fichier avec son ext
 filename="${file##*/}"

 # Recherche un fichier portant le meme nom dans le dossier de destination
 exitedeja=$(date -r "${outfolder}/${filename}" 2> /dev/null)

 # Si un fichier portant le meme nom existe deja
 if [[ ${exitedeja} ]]
 then
   # Si les fichiers ont la meme date de création
   if [[ "${exitedeja}" == "$(date -r "${file}")" ]]
   then
    echo "${filename} existe deja"

   # Si les dates sont differentes
   else
    echo "${filename} existe deja mais n'ont pas la même date de création"
    cp "${file}" "${outfolder}/Copie-${filename}"
   fi 

 # S'il n'y a pas de fichier portant deja ce nom
 else
   echo "on copie ${filename}"
   cp "${file}" "${outfolder}"
 fi
done

Fais un test sur quelques fichiers...

Dernière modification par Hizoka (Le 15/11/2015, à 21:08)


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#3 Le 15/11/2015, à 21:32

frere capsule

Re : [Résolu] copier coller en masse avec control sur la date de création

Hé bien ça marche  :-))))

Merci bien c'est super !

Dernière modification par frere capsule (Le 15/11/2015, à 21:33)

Hors ligne

#4 Le 15/11/2015, à 22:07

Hizoka

Re : [Résolu] copier coller en masse avec control sur la date de création

ravi que ça t'ait servi smile


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#5 Le 18/11/2015, à 14:15

Sub0

Re : [Résolu] copier coller en masse avec control sur la date de création

rsync ne fait pas ça ?


Seule alternative au bépo acceptée = stylo/papier.

Hors ligne