#1 Le 18/03/2007, à 18: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 .
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, à 18: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"
Messagerie instantanée : naholyr@jabber.fr
Envoyer vos images sur le web d'un clic !
Choix du système à rebooter (graphique)
Hors ligne
#3 Le 18/03/2007, à 18: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, à 20: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.