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

Unix Discussion :

Extraire des lignes d'un fichier (shell unix)


Sujet :

Unix

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2002
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2002
    Messages : 36
    Points : 28
    Points
    28
    Par défaut Extraire des lignes d'un fichier (shell unix)
    Bonjour,

    J'ai besoin d'extraire d'un fichier les lignes qui ont le caractère T en position 506.

    J'ai essayé avec en lisant mon fichier avec la commande read mais cette commande supprime les espaces en trop (quand il y en a au moins 2) et du coup les lignes de mon fichier sont complétement décalées !

    Quelqu'un a-t-il une solution ? soit pour que le read ne me supprime pas les espaces, soit une autre méthode pour extraire mes lignes...

    Merci de votre aide...

  2. #2
    Membre confirmé
    Inscrit en
    Juillet 2006
    Messages
    534
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 534
    Points : 562
    Points
    562
    Par défaut
    Avec awk, tu peux utiliser cette ligne

    if (index(line, "T") == 506) {
    # extract the current line which T in 506th position
    }

  3. #3
    Membre actif
    Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2007
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2007
    Messages : 248
    Points : 289
    Points
    289
    Par défaut
    index() loupe toutes les lignes qui ont un "T" avant la position 506
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if (substr(line, 506,1) == "T") {
    # extract the current line which T in 506th position
    print $0
    }

Discussions similaires

  1. Extraire des lignes d'un fichier .csv
    Par cre31400 dans le forum Fortran
    Réponses: 5
    Dernier message: 27/11/2009, 13h56
  2. Extraire des lignes d'un fichier ini en Batch
    Par yoyo612 dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 21/07/2008, 20h25
  3. Réponses: 14
    Dernier message: 16/07/2008, 11h47
  4. Extraire des lignes d'un fichier
    Par Scal-tn dans le forum Administration système
    Réponses: 3
    Dernier message: 20/04/2008, 13h39
  5. Extraire des lignes d'un fichier en commande bash
    Par newnew dans le forum Linux
    Réponses: 3
    Dernier message: 27/07/2004, 16h22

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