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 06/12/2008, à 16:43

natael

Selection/copies fichiers selon pattern pair/impair sous bash ou autre

Bonjour,

Je voudrais m'eviter d'ecrire un script pour rien.
Existe-t-il, dans les commandes standards du terminal, un moyen de copier des fichiers, selectivement, en ne considerant que la parité de leur numero en fin de leur basename ?

Par exemple, j'ai une liste de fichiers dont les noms sont :

FG_1.fits
FG_2.fits
FG_3.fits
FG_4.fits

etc... (Jusqu'a 365)

Je souhaite copier, et/ou deplacer, dans 2 repertoires differents, les fichiers aux indices pairs et ceux aux indices impairs.

Alternativement, si c'est plus simple, comment pourrai-je n'en selectionner que 1 sur 2 ? Je n'aurai plus qu'a renseigner que je commence la selection sur le 1er ou le 2nd. En en sautant 1 sur 2, j'arrive a mon resultat.

J'imaginais l'utilisation d'un PATTERN pour l'une ou l'autre solution, mais je ne vois pas vraiment comment proceder simplement sous bash ? Sinon, peut-etre existe-t-il un navigateur evolue de fichiers, ou plugin a Nautilus ? Je suis ouvert a tout ce qui pourrait me permettre de le faire, tant que ca m'evite de le faire sous IDL (ces fichiers en sont issues, et tres longs a manipuler, tres longs a lire, tres longs a ecrire).

Merci a vous.

Hors ligne

#2 Le 06/12/2008, à 21:42

Totor

Re : Selection/copies fichiers selon pattern pair/impair sous bash ou autre

Bonsoir,

Je n'ai pas connaissance d'une telle "commande", mais bon.... Par définition, les nombres paires se terminent forcément par 0, 2, 4, 6 ou 8 et que les impaires par 1, 3, 5, 7 et 9...

donc, suivant les exemples que tu as avancé :

# copie des fichiers à indice paire
cp FG_*[02468].fits <dossier_destination>
# copie des fichiers à indice impaire
cp FG_*[13579].fits <dossier_destination>

Petite question : le nombre de 365 que tu avances, c'est parce que tu te limites à 365 fichiers sur un nombre plus conséquent où est-ce parce qu'il y 365 fichiers en tout ?


-- Lucid Lynx --

Hors ligne

#3 Le 07/12/2008, à 15:20

natael

Re : Selection/copies fichiers selon pattern pair/impair sous bash ou autre

Totor a écrit :

Bonsoir,

Je n'ai pas connaissance d'une telle "commande", mais bon.... Par définition, les nombres paires se terminent forcément par 0, 2, 4, 6 ou 8 et que les impaires par 1, 3, 5, 7 et 9...

donc, suivant les exemples que tu as avancé :

# copie des fichiers à indice paire
cp FG_*[02468].fits <dossier_destination>
# copie des fichiers à indice impaire
cp FG_*[13579].fits <dossier_destination>

Petite question : le nombre de 365 que tu avances, c'est parce que tu te limites à 365 fichiers sur un nombre plus conséquent où est-ce parce qu'il y 365 fichiers en tout ?

Merci pour ce tuyau. Court et concis, j'adore.

La je te donnais un exemple de 365, c'est ce que j'ai actuellement. Mais cette manipulation va etre assez routiniere, j'ai parfois bcp plus, parfois bcp moins de fichiers (des images en fait, comme tu le devines par leur extensions .fits). Pourquoi la question ? Ta commande se limite-t-elle a des nombres comportant un maximum de digits ?

Hors ligne

#4 Le 07/12/2008, à 15:36

Totor

Re : Selection/copies fichiers selon pattern pair/impair sous bash ou autre

natael a écrit :

La je te donnais un exemple de 365, c'est ce que j'ai actuellement. Mais cette manipulation va etre assez routiniere, j'ai parfois bcp plus, parfois bcp moins de fichiers (des images en fait, comme tu le devines par leur extensions .fits). Pourquoi la question ? Ta commande se limite-t-elle a des nombres comportant un maximum de digits ?

Non, bien au contraire, elle n'est pas limitative... et c'est justement le pourquoi de ma question : si il fallait limiter à un nombre de fichiers parmis beaucoup plus, il faudrait procéder autrement.


-- Lucid Lynx --

Hors ligne