[commandes unix] copie ciblée

Résolu/Fermé
fallena Messages postés 3 Date d'inscription lundi 19 février 2007 Statut Membre Dernière intervention 19 février 2007 - 19 févr. 2007 à 09:20
fallena Messages postés 3 Date d'inscription lundi 19 février 2007 Statut Membre Dernière intervention 19 février 2007 - 19 févr. 2007 à 22:37
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

6 réponses

hmm tu devrais trouver ton bonheur avec man find
un petit pipe avec cp et ça devrait rouler :)
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 566
19 févr. 2007 à 10:59
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
fallena Messages postés 3 Date d'inscription lundi 19 février 2007 Statut Membre Dernière intervention 19 février 2007
19 févr. 2007 à 21:53
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
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 566
19 févr. 2007 à 22:12
~/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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 566
19 févr. 2007 à 22:26
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
fallena Messages postés 3 Date d'inscription lundi 19 février 2007 Statut Membre Dernière intervention 19 février 2007
19 févr. 2007 à 22:37
merci bcp lami20j tes un boss (-:
-1