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 retour à la ligne


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 83
    Par défaut Cut et retour à la ligne
    Bonjour,

    J'ai un petit souci, j'ai fait un petit script qui retire les N dernieres colonnes d'un fichier csv. Ce fichier ce compose d'un header et d'un footer qui comporte moins de colonnes que les données du fichier.

    Le hic c'est que quand je fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cat $FIC | cut -d";" -f1-$NB
    sur mes données réeles bah ca me vire le footer.

    J'examine mes données réeles et remarque qu'il n'y a pas de retour à la ligne à la fin du fichier, j'en rajoute une et comme par enchantement ca marche.

    Maiiiis pourtant quand je crée un fichier de test sous vi, tout bete sans retour à la ligne ca marche ...

    Est ce que quelqu'un sait pourquoi ? et comment contourner ce probleme ?

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 296
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 296
    Par défaut
    deja pourquoi utiliser cat et | pour un cut ???? reflexe conditionner au | ? nous ne sommes pas au stade de foot de Berlin

    sinon avec les commande head et tail tu devrait pouvoir virer la 1ere et la derniere ligne avant le cut ....
    (et la ok un bon pipe )

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 83
    Par défaut
    Citation Envoyé par MarcG
    deja pourquoi utiliser cat et | pour un cut ???? reflexe conditionner au | ? nous ne sommes pas au stade de foot de Berlin


    bah le truc que je ne comprends pas en fait c'est que j'ai un fichier comme ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    h;toto;titi
    d;arbre;maison;chat;lapin
    d;arbre;maison;chat;lapin
    d;arbre;maison;chat;lapin
    d;arbre;maison;chat;lapin
    f;footer;fifi
    le fichier ne se termine pas par un saut de ligne.

    je fais un cut ou je recupere les 3 premieres colonnes (donc en fait virer le footer et header pour les remettres aprés ca ne m'interesse pas vu qu'ils n'ont que 3 colonnes) et là ... il me sors :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    h;toto;titi
    d;arbre;maison;chat
    d;arbre;maison;chat
    d;arbre;maison;chat
    d;arbre;maison;chat
    je ne sais pas pourquoi il me vire le footer... ce fichier de données est généré il me semble par un script perl. Quand je crée à la mano un fichier semblable, le cut me sors bien le footer.

    Y a t'il un moyen de visualiser les caracteres speciaux present dans les fichiers ? Y a t'il un moyen pour que le cut prenne en compte cette derniere ligne ?

  4. #4
    Membre très actif
    Avatar de vosaray
    Profil pro
    Architecte technique
    Inscrit en
    Mai 2004
    Messages
    217
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2004
    Messages : 217
    Par défaut
    Y a t'il un moyen de visualiser les caracteres speciaux present dans les fichiers ?

    vim monfichier
    :se list


    Ca va t'afficher tous les caracteres speciaux, y compris les rc.

    Sinon, pour traiter des fichiers csv je pense que tu vas moins galerer en utlisant perl .

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 83
    Par défaut
    merci

    quand je fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    vim monfichier
    :se list
    les deux fichiers ont des $ à chaque fin de ligne

    me montre la difference entre les 2 fichiers, la derniere ligne de celui qui ne marche pas ne contient pas de "\n"

    mais en faisant un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    grep "$" monfichier | cut -d";" -f1
    ca marche

  6. #6
    Membre chevronné Avatar de herzleid
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Juin 2002
    Messages
    393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Directeur des systèmes d'information

    Informations forums :
    Inscription : Juin 2002
    Messages : 393
    Par défaut
    As-tu essayé la solution de MarcG ('lutilisation de tail et de head) ?

  7. #7
    Membre Expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Par défaut
    Citation Envoyé par Slein
    Y a t'il un moyen de visualiser les caracteres speciaux present dans les fichiers ?
    En l'occurence, les dernières lignes du "dump" devraient nous renseigner, puisque ton problème porte sur la fin du fichier.

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

Discussions similaires

  1. [C#] Retour à la ligne dynamique
    Par stailer dans le forum ASP.NET
    Réponses: 2
    Dernier message: 07/02/2005, 12h53
  2. [langage] compter les retour à la ligne
    Par Kinethe dans le forum Langage
    Réponses: 4
    Dernier message: 16/07/2004, 16h36
  3. Comment faire un retour a la ligne dans un tableaux Word
    Par alexmorel dans le forum API, COM et SDKs
    Réponses: 2
    Dernier message: 17/06/2004, 09h31
  4. Réponses: 2
    Dernier message: 08/06/2004, 14h42
  5. Réponses: 8
    Dernier message: 02/04/2004, 17h31

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