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 :

Csh, sort, awk


Sujet :

Linux

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 162
    Points : 60
    Points
    60
    Par défaut Csh, sort, awk
    Bonjour,

    J'ai trié un fichier avec la fonction sort d'UNIX.
    Or ce fichier contient des caractères vides que je souhaite enlever.

    Premièrement, la commande SORT permet-elle de supprimer les lignes vides d'un fichier ?

    Deuxiemement, j'effectue donc ce test en utilisant la commande AWK:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    awk '{ if ($0!="" print }' test.txt
    J'obtiens l'erreur suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    awk: syntax error near line 1
    awk: illegal statement near line 1
    Comprenez-vous l'origine de l'erreur ?

    Merci.

  2. #2
    Membre expérimenté
    Avatar de narmataru
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 548
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 548
    Points : 1 680
    Points
    1 680
    Par défaut
    bonjour,
    sort ne permet de supprimer des ligne (à part l'option -u qui vérifie l'unicité).
    Pour ne pas conserver les lignes vide utilsie sed (désolé je ne connais pas bien awk) :

    cat fichier | sort | sed -ne "/^./p"
    -n : permet de n'afficher que ce que les correspondance ayant l'action 'p' (ici il n'y a que une seule recherche de correspondance)

    ^. : est une expression rationnelle désignant les ligne commençant par un caractère (donc une ligne non-vide). (^=début de ligne, .=n'importe quel caractère)

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 162
    Points : 60
    Points
    60
    Par défaut
    Merci pour la réponse. Ca marche.

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

Discussions similaires

  1. utilisation grep sort awk
    Par qouify dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 02/04/2009, 15h23
  2. programmation csh awk
    Par johnyluc dans le forum Linux
    Réponses: 0
    Dernier message: 09/07/2008, 17h13
  3. Prog csh awk
    Par johnyluc dans le forum Linux
    Réponses: 6
    Dernier message: 09/07/2008, 14h42
  4. StringGrid sort
    Par clovis dans le forum C++Builder
    Réponses: 4
    Dernier message: 20/10/2004, 21h46
  5. JBuilder 7 personnal sort à chaque save
    Par Hannouz dans le forum JBuilder
    Réponses: 4
    Dernier message: 17/12/2002, 22h53

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