IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

sort avec caractère spéciaux


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut sort avec caractère spéciaux
    Bonjour

    je rencontre des problèmes pour trier des lignes avec des caractères spéciaux du style $,(),[],[]

    la commande sort les ignore alors que je n'ai pas utilisé le paramètre -d ou autre... j'utilise les paramètre par défaut...

    j'ai essayé différents paramètres du sort mais sans succès et je commence à être à court d'idée

    Plus précisément :
    Pour deux dossiers :
    je récupère via un find (pour avoir le chemin complet des fichiers ce que ne permet pas ls) la liste des fichier dans une arborescence

    les fichiers peuvent donc contenir des caractères spéciaux tels que le $ (à cause d'un fichier qui provient d'un serveur windows et dont le nom ne peut absolument pas être changé).

    j'ai donc 2 liste qui ressemble à ca :

    a/b/toto.txt
    a/b/tato.txt
    a/b/toto(ab).txt
    a/c/d/pouet.txt
    a/b/toto$ab.txt
    a/b/toto$zy.txt
    a/b/toto(zy).txt


    logiquement si on trie ca donne ca :

    a/b/tato.txt
    a/b/toto.txt
    a/b/toto(ab).txt
    a/b/toto(zy).txt
    a/b/toto$ab.txt
    a/b/toto$zy.txt
    a/c/d/pouet.txt

    sauf que sort fait comme si les () et $ n'existaient pas et donc tri de la facon suivante :

    a/b/tato.txt
    a/b/toto.txt
    a/b/toto(ab).txt
    a/b/toto$ab.txt
    a/b/toto(zy).txt
    a/b/toto$zy.txt
    a/c/d/pouet.txt

    et cela me pose d'énormes problème pour mon algorithme après qui se base sur l'ordre alphabétique (pour des raisons d'optimisations vitales)

    voilà, si quelqu'un savait comment faire en sorte d'avoir ma liste des fichiers triés par ordre alpahbétique avec prise en compte des caractère spéciaux, ca serait sympa car j'en suis à m'arracher les cheveux...

    NB : oui ls permet de retourner la liste des fichiers triée correctement, sauf qu'il ne peux pas (d'après une recherche web et étude du man) retourner le chemin des fichiers

    Merci.

  2. #2
    Membre expérimenté Avatar de FRUiT
    Homme Profil pro
    Inscrit en
    Février 2011
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2011
    Messages : 83
    Par défaut
    Citation Envoyé par lapinkiller Voir le message
    NB : oui ls permet de retourner la liste des fichiers triée correctement, sauf qu'il ne peux pas (d'après une recherche web et étude du man) retourner le chemin des fichiers
    Je dis ça c'est peut-être pas possible faudrait voir ton script, mais tu pourrais éventuellement faire un 'readlink -e "$file"' derrière ton ls ?

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Comme je l'ai dit à plusieurs reprise, je n'utilise pas la commande ls mais la commande find.

    j'ai fini par résoudre mon problème en faisant un
    LC_ALL=C
    avant de faire mon find |sort et là ca marche...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [DOM] Erreur parser fichier xml avec caractère spéciaux
    Par turcotm dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 19/06/2006, 09h01
  2. [MySQL] Problèmes avec caractères spéciaux
    Par brokengillou dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 27/04/2006, 17h02
  3. recupérer GET avec caractères spéciaux
    Par masseur dans le forum Langage
    Réponses: 11
    Dernier message: 03/01/2006, 11h37
  4. [RegEx] chaîne de caractères avec caractères spéciaux
    Par Kerod dans le forum Langage
    Réponses: 9
    Dernier message: 25/12/2005, 01h40
  5. Réponses: 3
    Dernier message: 11/10/2004, 17h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo