GNU/Linux >> Tutoriels Linux >  >> Linux

Copie de fichiers en fonction de la date de modification sous Linux

Je voudrais d'abord stocker temporairement la liste des fichiers et utiliser une boucle.

find . -mtime -90 -ls >/tmp/copy.todo.txt

Vous pouvez lire la liste, si elle n'est pas trop longue, avec

for f in `cat /tmp/copy.todo.txt`;
do echo $f;
done

Remarque :les guillemets autour de chat... sont des backticks, souvent dans le coin supérieur gauche du clavier.

Vous pouvez alors remplacer la commande echo par une commande copy :

for f in `cat /tmp/copy.todo.txt`;
do cp $f /some/directory/
done

On peut aussi sélectionner la date et l'heure exactes sans remonter à un certain nombre de jours :

cp  `find . -type f -newermt '18 sep 2016 20:05:00'` FOLDER

Ce qui précède copie tous les fichiers du répertoire qui ont été créés après le 18 septembre 2016 20:05:00 dans le FOLDER (trois mois avant aujourd'hui :)

Soyez prudent avec le symbole de la commande de recherche. Ce n'est pas celui-ci :'

C'est ceci, un backtick :`

La sélection de la date se fait avec ceci :'

Si vous avez des fichiers avec des espaces, des retours à la ligne, des tabulations ou des caractères génériques dans leurs noms, vous pouvez utiliser l'une ou l'autre des solutions de Stéphane Chazelas. Le premier est pour GNU, et le second est pour GNU ou certains BSD :

find . -type f -newermt '18 sep 2016 20:05:00' -exec cp -t FOLDER {} +
find . -type f -newermt '18 sep 2016 20:05:00' -exec sh -c 'cp "[email protected]" FOLDER' sh {} +

Utilisez cette commande :

for i in `ls -lrt | grep "jul" | awk '{print $9}' `; do cp $i* /some/folder/; done

Utilisez le -exec option pour find :

find . -mtime -90 -exec cp {} targetdir \;

-exec copierait chaque résultat renvoyé par find dans le répertoire spécifié (targetdir dans l'exemple ci-dessus).


Linux
  1. Comment rechercher et trier des fichiers en fonction de la date et de l'heure de modification sous Linux

  2. Rechercher et trier des fichiers en fonction de l'accès, de la date et de l'heure de modification sous Linux

  3. Linux - Obtenir des fichiers pour la date actuelle sous Linux ?

  4. Comment supprimez-vous les fichiers antérieurs à une date spécifique sous Linux ?

  5. Linux :utilisation de la recherche pour localiser les fichiers antérieurs au <date>

Comment compter les fichiers dans le répertoire sous Linux

Comment rechercher et répertorier récursivement les fichiers par date sous Linux

Comment trouver des fichiers en fonction de leurs autorisations sous Linux

Comment trouver des fichiers basés sur l'horodatage sous Linux

Trouvez facilement des fichiers et des répertoires sur Linux

Rechercher du texte dans des fichiers sous Linux à l'aide de grep