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 :

cut et les caractères spéciaux


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 45
    Par défaut cut et les caractères spéciaux
    Bonjour,
    Je cherche à utiliser la commande cut avec un délimiteur qui est le ring bell (code ASCII 7, ou \a).

    Cependant, la commande "classique" ne fonctionne pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cat test.dat | cut -f1 -d"\a"
    Je n'ai pas d'erreur, mais le cut ne prend pas le caractère \a comme délimiteur.

    Comment lui indiquer ce caractère comme délimiteur ?

    Merci

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Par défaut
    Salut,

    Essaie comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cat test.dat | cut -f1 -d '^G'
    Le '^G' est obtenu avec la séquence de touche "CTRL V" + "CTRL G"

  3. #3
    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
    Useless use of cat non ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cut -f1 -d '^G' test.dat

  4. #4
    Expert confirmé Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Par défaut
    oui un nouvel inscrit aux UUoC Awards

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 45
    Par défaut
    Citation Envoyé par zipe31 Voir le message
    Salut,

    Essaie comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cat test.dat | cut -f1 -d '^G'
    Le '^G' est obtenu avec la séquence de touche "CTRL V" + "CTRL G"
    Merci, ça fonctionne parfaitement.

    De manière générale, peut-on préciser le code ASCII du caractère ?
    Quelque chose du genre '\0x07' ?

  6. #6
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Par défaut
    De rien

    Pour le code ASCII tout dépend de la commande et de ses spécificités, cut par exemple ne l'accepte pas pour le délimiteur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ cut -f1 -d '\x07' fich
    cut: Le délimiteur doit être un caractère simple

  7. #7
    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
    Avec awk c'est possible, mais cut est beacoup trop strict au niveau du délimiteur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    awk -F'\007' '{ print $1 }' test.dat
    [EDIT] Grillé...

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 45
    Par défaut
    Merci pour vos réponses.

  9. #9
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 658
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 658
    Par défaut
    Bonjour,

    Code bash : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    echo -e "foo\abar\abaz" > myFile
    cut -f1 -d $'\x07' myFile
    foo
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

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

Discussions similaires

  1. [Applet][XML] Ne pas interpréter les caractères spéciaux
    Par leminipouce dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 28/07/2005, 16h15
  2. [SAX] Problème avec les caractères spéciaux
    Par abdou.sahraoui dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 18/07/2005, 10h07
  3. [C#][ADO] Enlever les caractère spéciaux
    Par Oberown dans le forum Windows Forms
    Réponses: 3
    Dernier message: 10/01/2005, 18h38
  4. [Jsp] Supprimer les caractère spéciaux d'une chaine
    Par PeteMitchell dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 13/05/2004, 11h11
  5. Traiter les caractères spéciaux
    Par ricola dans le forum Langage
    Réponses: 2
    Dernier message: 20/02/2003, 09h23

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