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 :

Extraction champs precis


Sujet :

Shell et commandes GNU

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2005
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 15
    Points : 13
    Points
    13
    Par défaut Extraction champs precis
    salut à tous et merci d'avance pour l'aide,j'en ai vraiement besoin,
    voila j'ai pas su comment extraire
    des champs precis d'un fichier, normalement je dois utiliser la command cut, mais
    sachant que dans mon fichier les champs sont separés pas plusiuers <espace> alors que l'option -d' ' de la commande ne traite q'un seul caractere, j'ai du mal à m'en sortir, par exemple, je veux extraire les 3 premiers champs du fichier dont on a stocké le resultat de la commande df.
    Merci encore pour votre aide

  2. #2
    Membre averti Avatar de Jack_serious
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    350
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 350
    Points : 396
    Points
    396
    Par défaut
    Une des solutions possibles, et celle que j'utilise toujours dans ce genre de cas, est l'utilisation de sed.

    En effet sed permet d'utiliser des regexp. Donc de virer les espaces multiples par exemple.

    Voic une regexp pour supprimer tous les espaces multiples:

    Donc voici ce que ca donne en pratique :

    • [1] Creation d'un fichier remplit avec df :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    jack@jacksrack:~$ df > test
    jack@jacksrack:~$ cat test
    Filesystem           1K-blocks      Used Available Use% Mounted on
    /dev/hda1              7692876   2544312   4757788  35% /
    tmpfs                   514236         0    514236   0% /dev/shm
    tmpfs                   514236     12588    501648   3% /lib/modules/2.6.12-10-386/volatile
    /dev/hda3             76896348   2061148  70928996   3% /home
    • [2] Supression des espaces multiples :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    jack@jacksrack:~$ cat test | sed -r 's/ +/ /g'
    Filesystem 1K-blocks Used Available Use% Mounted on
    /dev/hda1 7692876 2544312 4757788 35% /
    tmpfs 514236 0 514236 0% /dev/shm
    tmpfs 514236 12588 501648 3% /lib/modules/2.6.12-10-386/volatile
    /dev/hda3 76896348 2061148 70928996 3% /home
    • [3] Utilisation de cut :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    jack@jacksrack:~$ cat test | sed -r 's/ +/ /g' | cut -d' ' -f1,2,3
    Filesystem 1K-blocks Used
    /dev/hda1 7692876 2544312
    tmpfs 514236 0
    tmpfs 514236 12588
    /dev/hda3 76896348 2061148
    Don't worry, be serious.
    La vie est courte. Prenez votre temps.

    Jack.

Discussions similaires

  1. [MySQL] Extraction champs puis mise à jour simultanée
    Par Antherak dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 28/09/2008, 15h03
  2. Extraction champ "multi-encodage"
    Par Arnaud F. dans le forum Sybase
    Réponses: 7
    Dernier message: 10/09/2008, 15h03
  3. pb extraction champ
    Par dragonfly80 dans le forum InterBase
    Réponses: 10
    Dernier message: 18/07/2008, 10h37
  4. extraction champs +1 apres chaine de caractere
    Par francis_tom dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 21/04/2008, 11h52
  5. [XPATH]Acces a un champ precis avec XPath
    Par Le-Cortex dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 13/12/2005, 13h36

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