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

Linux Discussion :

Script shell : fichier crlf dans variable


Sujet :

Linux

  1. #1
    Membre actif
    Inscrit en
    Décembre 2002
    Messages
    438
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 438
    Points : 218
    Points
    218
    Par défaut Script shell : fichier crlf dans variable
    Bonjour,

    Je voudrais mettre dans une variable le contenu d'un fichier avec des CRLF :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    toto=`cat test.txt`
    si on fait un , on a la dernière ligne.

    Est-ce possible ?

    Merci par avance,

  2. #2
    Membre actif
    Inscrit en
    Décembre 2002
    Messages
    438
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 438
    Points : 218
    Points
    218
    Par défaut
    En fait, j'ai l'impression qu'une variable ne peut stocker aucun caractère de contrôle \n ou \r...

    Vous me le confirmez ?

  3. #3
    Membre éclairé Avatar de BlaireauOne
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    492
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2007
    Messages : 492
    Points : 652
    Points
    652
    Par défaut
    Citation Envoyé par Débéa
    si on fait un , on a la dernière ligne.

    Solution, éliminer au préalable le CR (carriage return) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    toto=`cat test.txt | tr -d '\r'`

    Effectivement, smortex a raison. Ça fonctionne avec des double-quote
    Loi de Murphy:
    La Théorie c'est quand ça ne marche pas mais que l'on sait pourquoi.
    La Pratique c'est quand ça marche mais qu'on ne sait pas pourquoi.
    Quand la théorie rejoint la pratique ça ne marche pas et on ne sait pas pourquoi.

  4. #4
    Membre expérimenté

    Inscrit en
    Mai 2002
    Messages
    720
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 720
    Points : 1 594
    Points
    1 594
    Par défaut
    Salut

    Citation Envoyé par Débéa
    En fait, j'ai l'impression qu'une variable ne peut stocker aucun caractère de contrôle \n ou \r...

    Vous me le confirmez ?
    Non: une variable peut très bien contenir un texte sur plusieurs lignes... Tu peux juste avoir éventuellement des problèmes d'affichage si tu ne fais pas attention en faisant `echo $variable` sans double quotes selon le shell que tu utilise.

    Smortex

    Les FAQ Assembleur - Linux
    In The Beginning Was The Command Line Neal Stephenson

  5. #5
    Membre actif
    Inscrit en
    Décembre 2002
    Messages
    438
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 438
    Points : 218
    Points
    218
    Par défaut
    Merci à vous 2

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

Discussions similaires

  1. [Shell] Path tronqué dans variable
    Par bakka dans le forum Linux
    Réponses: 1
    Dernier message: 23/01/2008, 17h06
  2. Appel d'un fichier dans un script shell
    Par Herbauges dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 01/12/2006, 12h03
  3. Liste de fichier dans un script shell
    Par mirlidas dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 21/11/2006, 17h54
  4. Script shell pour persister les variables exportées
    Par Giovanny Temgoua dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 03/10/2006, 09h07
  5. Script shell - écriture dans un fichier
    Par Leishmaniose dans le forum Linux
    Réponses: 6
    Dernier message: 13/12/2004, 22h48

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