Les fichiers

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

  1. Modérateur
    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
    1. 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
      1. 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
        1. salut
          ça marche pas
          0
        2. 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
        3. Modérateur
          Re-

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