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 :

awk allergique à son appel dans .bash_aliases


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 158
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 158
    Par défaut awk allergique à son appel dans .bash_aliases
    Bonjour,

    dans mon .bash_aliases se trouve la commande alias dsk="mount | grep /dev/sd | awk '{print $1, $2, $3}';" qui me renvoie l'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    awk: line 1: syntax error at or near ,
    alors qu'elle fonctionne très bien en ligne de commande ou dans un script...

    J'ai essayé de virer le grep mais c'est pareil, le mieux que je puisse avoir c'est les 3 champs qui m'intéressent mais j'ai alors la sortie complète du mount, ce qui m'intéresse moins.
    Merci pour les tuyaux,

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 673
    Par défaut
    grrrr! pas grep ET awk !!!

    le problème vient des variables awk qui sont interprétées comme des paramètres positionnels du shell ( ¡ compliqué l'imbrication des apostrophes et des guillemets dans un alias ! )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alias dsk='mount | awk "/\/dev\/sd/{ print \$1,\$2,\$3}"'
    tu ne gagnerais pas en utilsant lsblk ? sa sortie est paramétrable.
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 158
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 158
    Par défaut
    Citation Envoyé par N_BaH Voir le message
    grrrr! pas grep ET awk !!!
    Yes I know, c'est pour ça que je voulais le virer, mais j'ai pataugé...

    Citation Envoyé par N_BaH Voir le message
    le problème vient des variables awk qui sont interprétées comme des paramètres positionnels du shell (compliqué l'imbrication des apostrophes et des guillemets dans un alias ! )
    Oh que oui ! Mais tu t'en es sorti comme un chef !

    Citation Envoyé par N_BaH Voir le message
    tu ne gagnerais pas en utilsant lsblk ? sa sortie est paramétrable.
    C'est les colonnes qui sont paramétrables (visibles ou pas), ça ne m'intéresse qu'à moitié, avec mount + awk j'ai exactement ce que je veux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    $ lsblk | grep sd
    sda      8:0    0   10G  0 disk 
      sda1   8:1    0    9G  0 part /
      sda2   8:2    0    1K  0 part 
      sda5   8:5    0  975M  0 part [SWAP]
    sdb      8:16   0   30M  0 disk 
      sdb1   8:17   0   30M  0 part /mnt/texte
    sdc      8:32   0   50M  0 disk 
      sdc1   8:33   0   40M  0 part /mnt/video
      sdc2   8:34   0    9M  0 part /mnt/music
     
    $ dsk
    /dev/sda1 on /
    /dev/sdb1 on /mnt/texte
    /dev/sdc1 on /mnt/video
    /dev/sdc2 on /mnt/music
    Merci pour tout, bon week-end et joyeuses fêtes à tous,

    EDIT : Attention ! Faire un echo "chaine_de_l'alias" >> .bash_aliases fait sauter les 2 doubles quotes ET les 5 backslashes ! /EDIT

  4. #4
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 673
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $ lsblk -dno name,mountpoint /dev/sd[a-z][0-9]
    sda1 /boot
    sda2 /
    sda3 [SWAP]
    sda4 /home
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  5. #5
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 158
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 158
    Par défaut
    Oui, si on veut, mais le SWAP ne m'intéresse pas et j'aime bien la colonne "on" dans ma sortie, je sais c'est bête, mais c'est ainsi.

  6. #6
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 673
    Par défaut
    j'aime bien la colonne "on" dans ma sortie
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

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

Discussions similaires

  1. [DATA] Appeler une variable par son emplacement dans le dataset
    Par alers dans le forum SAS Base
    Réponses: 6
    Dernier message: 04/07/2013, 09h28
  2. [POO] Appeler une fonction par son nom dans une variable
    Par whitespirit dans le forum Langage
    Réponses: 16
    Dernier message: 18/06/2008, 11h23
  3. Réponses: 1
    Dernier message: 25/11/2007, 12h28
  4. Réponses: 43
    Dernier message: 29/11/2004, 16h27
  5. Mettre son programme dans Envoyer Vers ?
    Par MaTHieU_ dans le forum C++Builder
    Réponses: 11
    Dernier message: 29/07/2003, 19h09

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