Les fichiers

soukaina321 Messages postés 8 Statut Membre -  
soukaina321 Messages postés 8 Statut Membre -
Bonjour , j'ai un fichier qui contient
A.txt
/home/fichier.txt
/home/fichier_a1b0.txt
/home/fichier_a1b1.txt
/home/fichier_a1b2.txt
/home/fichier_a2b1.txt
.
.
etc

En faite je veux une commande qui va me permettre de prendre le fichier qui a la version la plus grande
Est dans ce cas c'est fichier_a2b1.txt
Tout en sachant que je ne connais pas les vesrions
Merci d'avance
>

3 réponses

jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Salut,

Je suppose que le fichier est généré depuis une commande "ls" ?

Si oui, voir l'option "-v" de la commande "ls" :

       -v     Trier le contenu des répertoires en fonction de la  version  des
              fichiers.  Ceci prend en compte le fait que les noms de fichiers
              utilisent fréquemment des indices ou des numéros de version. Les
              fonctions de tri standards ne fournissent pas en général l'ordre
              attendu car les comparaisons ont lieu caractère  par  caractère.
              Le  tri  de  version  gère  ce problème, et est particulièrement
              utile lorsque l'on parcourt des répertoires  contenant  de  nom-
              breux  indices  ou  numéros de version dans les noms de fichier.
              Par exemple :
                   $ ls -1            $ ls -1v
                   foo.zml-1.gz       foo.zml-1.gz
                   foo.zml-100.gz     foo.zml-12.gz
                   foo.zml-12.gz      foo.zml-25.gz
                   foo.zml-25.gz      foo.zml-100.gz
              Remarquez que les parties numériques commençant  par  des  zéros
              sont considérées comme des décimales :
                   $ ls -1            $ ls -1v
                   abc-1.007.tgz      abc-1.007.tgz
                   abc-1.012b.tgz     abc-1.01a.tgz
                   abc-1.01a.tgz      abc-1.012b.tgz
              (Ceci est une nouveauté des fileutils-4.0).
0
soukaina321 Messages postés 8 Statut Membre
 
en faite je sais pas d' ou es ce qu il est généré , je n 'ai en main que le fichier que j'ai cité ci -dessus
y a il pa autre moyens
merci d 'avance
0
xfred
 
salut,

ca serais plus facile si tu navais pas d'exention a tes fichiers tu pourais simplement appliquer
cat fichier_conteneur |sort -ns |tail -1 


dumoin presentement ca te fait une base de travail
0
soukaina321 Messages postés 8 Statut Membre
 
salut
ça marche pas
0
soukaina321 Messages postés 8 Statut Membre
 
svp y at'il une commande permettant de supprimer tout les caractere ainsi que les lettre et ne gardant que les chiffre
c a dire
je veux que ele fichier suivant
A.txt
/home/fichier_a1b0.txt
/home/fichier_a1b1.txt
devient


A.txt
10
11
merci d 'avance
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Re-

sed 's/[^[:digit:]]//g'
0
soukaina321 Messages postés 8 Statut Membre
 
merci bcp
en ce qui concerne la solution au problème principal (version)
dés que je la finalise je vs la transmet
:)
0