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 :

Commande Unix cut


Sujet :

Shell et commandes GNU

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 28
    Par défaut Commande Unix cut
    Bonjour,
    Je recherche la commande unix qui permet de récupérer les derniers champs de chaque ligne d'un fichier.

    Je pense qu'il faut utiliser la commande cut mais je n'arrive pas a extraire juste le dernier champ avec celle-ci (à savoir que les champs sont séparés par des virgules, mais qu'il n'y a pas le même nombre de champ dans chaque ligne).

    Donc cela doit être un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cut -d, -f(???) file_input > file_output
    Merci

  2. #2
    DIE
    DIE est déconnecté
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 101
    Par défaut
    je connais en AWK la commande NF qui permet de récupérer automatiquement le dernier champs de chaque ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    awk 'FS=","  {print $NF}' file_input > file_output

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 28
    Par défaut
    Merci de la rapidité de ta réponse, mais ça ne fonctionne pas sur le serveur sur lequel je veux l'exécuter.

    En revanche, ta réponse m'a aidé à trouver une autre solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    awk '{print $NF}' file_input > file_output
    Il est vrai que mes lignes sont de la forme : mot1, mot2, motN , d'où la possibilité d'utiliser l'espace comme séparateur.

    Merci beaucoup.

  4. #4
    Membre émérite Avatar de jmelyn
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2007
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Septembre 2007
    Messages : 703
    Par défaut
    Citation Envoyé par DIE Voir le message
    je connais en AWK la commande NF qui permet de récupérer automatiquement le dernier champs de chaque ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    awk 'FS=","  {print $NF}' file_input > file_output
    Pour changer la variable FS, deux solutions:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    awk -F ',' '{print $NF}' file_in > file_out
    awk '{FS = ","; print $NF}' file_in > file_out

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

Discussions similaires

  1. Commandes unix
    Par jejam dans le forum Shell et commandes GNU
    Réponses: 7
    Dernier message: 27/12/2005, 15h32
  2. Réponses: 22
    Dernier message: 09/12/2005, 21h27
  3. [Système] lancer command unix par php
    Par naourass dans le forum Langage
    Réponses: 3
    Dernier message: 05/10/2005, 14h07
  4. [débutant]lancement d'une commande Unix ou LInux depuis Java
    Par msiramy dans le forum API standards et tierces
    Réponses: 6
    Dernier message: 30/09/2005, 18h10
  5. [langage] Commande Unix en Perl
    Par totox17 dans le forum Langage
    Réponses: 3
    Dernier message: 20/11/2002, 10h59

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