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 18/03/2007, à 19:08

itzy

Commande de sélection de fichier pour script bash

Salut,

voici mon problème, je fais tourner des runs codés en Fortran toute la journé, le code me renvoit dans un dossier des fichiers numérotés au fur et à mesure que le code tourne.
Tel que :
                                                                Data_0.pdb
                                                                Data_1.pdb
                                                                Data_2.pdb
                                                                         .
                                                                         .
                                                                         .
                                                                Data_n.pdb
 
et croyez moi, j'en passe !
Pour me simplifier la vie, j'ai écrit un stripte qui automatise une partie du traitement de mes données. Jusqu'à là pas de problème smile.
Cependant, j'aimerai pouvoir sélectionner le dernier Data (Data_n.pdb), et uniquement celui-ci pour pouvoir le sauvegardé autre part.
Quelqu'un aurait-il connaissance d'une commande permettant par exemple de sélectionner le fichier de plus grand indice ? Quelque soit la méthode elle sera la bienvenue.
En vous remerciant par avance, de la part d'un p'tit gars qui pourra rester un peu plus au lit grace à son stricpt et votre aide.

#2 Le 18/03/2007, à 19:27

naholyr

Re : Commande de sélection de fichier pour script bash

Un script simple :

indice_max=0
for f in $(ls Data_*.pdb) # Pour chaque fichier Data_n.pdb
do
    # On extrait la valeur de 'n' dans $indice
    indice=$(echo $f | sed 's/Data_\(.*\)\.pdb/\1/')
    # Calcul du max
    if [ $indice -gt $indice_max ]
    then
        indice_max=$indice
    fi
done
# Nom du fichier d'indice maxi
echo "Data_${indice_max}.pdb"

Hors ligne

#3 Le 18/03/2007, à 19:38

abetsic

Re : Commande de sélection de fichier pour script bash

Tu peux aussi utiliser ls -t qui trie les fichiers par date, puisque celui qui t'intéresse est le dernier créé, ça devrait fonctionner :

ls -1t | head -n 1

le "ls -1t" pour que les résultats soient affichés sur une seule colonne par ordre chronologique inversé (le plus récent sort en premier), et on prend le premier résultat avec "head -n 1"

Hors ligne

#4 Le 19/03/2007, à 21:55

itzy

Re : Commande de sélection de fichier pour script bash

Ah voila des nouvelles pour me ravir,
un grand merci à vous pour les heures de sommeil gagnées.

Cordialement,
Itzy.