Awk: Question

Résolu
Bonjour à tous,

j'ai un petit souci avec awk:

#!/bin/bash

a=2
toto="U trunk/site/thierry.php A trunk/site/thierry2.php A trunk/site/thierry3.php"
echo "$toto"|awk '{print $a}'

=> me renvoie toute la chaine "toto", comme si "$a" valait "0".

Comment puis-je mettre une variable dans le {print } de awk ?

Merci pour votre retour :-)
Configuration: Windows Vista
Firefox 3.0

3 réponses

  1. Non çà marche po.

    En fait j'ai trouvé c'était :

    echo "$toto"|awk "{print \$"$a"}"

    Pour une fois j'ai la réponse avant jipicy lol :-))
    1. Modérateur
      Si j'avais réfléchi 2 secondes, il est vrai que j'aurai vu que ma réponse donnée "2" et non pas "$2" ;-((

      Merci ;-))
  2. Modérateur
    Salut,

    Ton backslash est inutile ;-))
    lami20j@debian:~$ a=2
    lami20j@debian:~$ toto="U trunk/site/thierry.php A trunk/site/thierry2.php A trunk/site/thierry3.php"
    lami20j@debian:~$ echo "$toto"|awk "{print \$"$a"}"
    trunk/site/thierry.php
    lami20j@debian:~$ echo "$toto"|awk "{print $"$a"}"
    trunk/site/thierry.php