[commandes unix] copie ciblée

Résolu
bonjour,
je débute en linux et je voudrais savoir comment faire une copie de fichiers
en seul coup. Dans un répertoire, j'ai plusieurs fichiers commencant dont les noms ressemblent à ceci : VIMOS.2002-09-21T23:59:44.869.fits
où les chiffres représentent la date et l'heure de création. Donc, comment faire sous shell pour copier tous les fichiers dont les minutes de la date de création sont comprises entre 10 et 19 ?

merci de votre aide et bonne journée
Configuration: Linux
Firefox 2.0.0.1

6 réponses

  • Votes
  • Date
  • Date décroissante
  1. Modérateur
    ou
    lami20j@debian:~/trash/fallena$ pwd
    /home/lami20j/trash/fallena
    lami20j@debian:~/trash/fallena$ ls | grep ':1[0-9]:' | xargs -I = cp -v = /home/lami20j/
    `VIMOS.2002-09-21T23:10:44.869.fits' -> `/home/lami20j/VIMOS.2002-09-21T23:10:44.869.fits'
    `VIMOS.2002-09-21T23:11:44.869.fits' -> `/home/lami20j/VIMOS.2002-09-21T23:11:44.869.fits'
    `VIMOS.2002-09-21T23:15:44.869.fits' -> `/home/lami20j/VIMOS.2002-09-21T23:15:44.869.fits'
    lami20j@debian:~/trash/fallena$ ls -1 /home/lami20j/VIM*
    /home/lami20j/VIMOS.2002-09-21T23:10:44.869.fits
    /home/lami20j/VIMOS.2002-09-21T23:11:44.869.fits
    /home/lami20j/VIMOS.2002-09-21T23:15:44.869.fits

    1. Modérateur
      ~/trash/fallena$ pwd
      /home/lami20j/trash/fallena
      lami20j@debian:~/trash/fallena$ ls -1
      VIMOS.2002-09-21T23:10:44.869.fits
      VIMOS.2002-09-21T23:11:44.869.fits
      VIMOS.2002-09-21T23:15:44.869.fits
      VIMOS.2002-09-21T23:59:44.869.fits
      ~/trash/fallena$ find ./ -regex '.*:1[0-9]:.*' -exec cp -v {} /home/lami20j/ \;
      `./VIMOS.2002-09-21T23:15:44.869.fits' -> `/home/lami20j/VIMOS.2002-09-21T23:15:44.869.fits'
      `./VIMOS.2002-09-21T23:11:44.869.fits' -> `/home/lami20j/VIMOS.2002-09-21T23:11:44.869.fits'
      `./VIMOS.2002-09-21T23:10:44.869.fits' -> `/home/lami20j/VIMOS.2002-09-21T23:10:44.869.fits'
      ~/trash/fallena$ ls -1 /home/lami20j/VIM*
      /home/lami20j/VIMOS.2002-09-21T23:10:44.869.fits
      /home/lami20j/VIMOS.2002-09-21T23:11:44.869.fits
      /home/lami20j/VIMOS.2002-09-21T23:15:44.869.fits

      1. slt,
        la methode de lami semble bien fonctionner, merci beaucoup mais y aurait-il pas une autre astuce pour quelqu'un comme moi qui n'a aucune connaissance en programmation? J'ai essayé plusieurs manip avec les commande ls et cp mais sans succès :'(
        1. Modérateur
          Salut,

          on peut le faire aussi avec un coup de ls et grep (je n'ai pas testé)

          for i in $(ls /chemin/vers/*fits | grep ':1[0-9]:');do cp -v $i /chemin/destination;done

          1. hmm tu devrais trouver ton bonheur avec man find
            un petit pipe avec cp et ça devrait rouler :)