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 01/12/2007, à 11:47

Thibaud

[Résolu] Bash : récupérer des fichiers à  partir d'une date donnée

Bonjour,
J'ai utilisé un second PC pendant quelques temps, mais je ne sais plus dans quel dossiers j'ai créé de nouveaux fichiers...
Je sais que tous mes fichiers ont été créés dans le dossier /home/toto/Documents
J'envisage de faire un script pour récupérer mes fichiers, mais je ne maà®trise pas bien bash.
Je pourrais faire ceci :

fichiers=$(ls /home/toto/Documents -Rl)
date_max=
recup=recup-$(date +%M%H).log
for i in $fichiers
do
   if [ $(echo $i | cut -d " " -f6) -gt $date_max] # si la date correspond
   then
      cp $(echo $i | cut -d " " -f9 ) /home/toto/arecuperer
      echo $i >> $recup
   fi
done
cat $recup

Problème 1 : le commande ls -lR ne me donne pas le chemin des fichiers, elle n'affiche par bloc de dossiers et non un simple listing.
Problème 2 : est-il possible de comparer facilement une date ?

Sinon, il y a la possibilité de faire une boucle avec un for i in *, si $i est un dossier, alors $chemin = $chemin + $dossier, etc., mais ça m'a l'air beaucoup plus compliqué non ?

Merci de l'aide,
Thibaud.

Dernière modification par Thibaud (Le 02/12/2007, à 14:55)


Bienvenue sur mon site perso : http://thibaud.hulin.free.fr/dokuwiki

Pour l'utilisabilité et l'ergonomie des logiciels libres : http://ergolibre.tuxfamily.org
Apprentissage libre des langues : http://polyglotte.tuxfamily.org et http://www.akademia.ch/websites/ergolang/

Hors ligne

#2 Le 01/12/2007, à 12:20

abetsic

Re : [Résolu] Bash : récupérer des fichiers à  partir d'une date donnée

Essayes de regarder du cà´té de find, de base il permet de chercher des fichiers en précisant une date limite.

Hors ligne

#3 Le 02/12/2007, à 14:54

Thibaud

Re : [Résolu] Bash : récupérer des fichiers à  partir d'une date donnée

Merci ! Donc, je remplace mon script par cette ligne, c'est ça ?

cp $(find -mtime -31| tr -d "./" | grep -v '^$') /dossier_de_sauvegarde

Mmmh... Le problème de cette ligne est qu'elle copie des dossiers même si tous leurs fichiers n'ont pas été mis à  jour, donc à  déconseiller.

Dernière modification par Thibaud (Le 04/12/2007, à 10:37)


Bienvenue sur mon site perso : http://thibaud.hulin.free.fr/dokuwiki

Pour l'utilisabilité et l'ergonomie des logiciels libres : http://ergolibre.tuxfamily.org
Apprentissage libre des langues : http://polyglotte.tuxfamily.org et http://www.akademia.ch/websites/ergolang/

Hors ligne