Commande grep

Résolu
Bonjour,
je voudrais inserer le contenu d'une commande grep dans une variable.

J'ai essaye :
$titre = `grep "^T " $2`
echo --------------
echo $titre
$2 etant un .txt qui d'ailleurs s'ouvre comme il faut

dans le terminal :

iceman@iceman-PC:/media/ICEWORK/SUSU/Informatique/TP Info/UNIX/2BTP4/v1$ sh TP4.sh convertir test.txt
--------------------
Bonjour iceman...
Tu es actuellement dans le répertoire /media/ICEWORK/SUSU/Informatique/TP Info/UNIX/2BTP4/v1
-----------------------
: not found
convertir
fichier a convertir : test.txt
test.txt[1:3]
TP4.sh: 32: =: not found
--------------

iceman@iceman-PC:/media/ICEWORK/SUSU/Informatique/TP Info/UNIX/2BTP4/v1$

merci d'avance pour vos reponses
cordialement,
Configuration: Linux
Firefox 3.0.7

6 réponses

  1. essaie plutt :
    titre =$( `grep "^T " $2` )
    1. Modérateur
      C'est ou l'un :

      titre=`grep "^T " $2`

      ou l'autre :

      titre=$(grep "^T " $2)

      mais pas les deux ;-\

      Et tant qu'à faire privilégier la 2nd...
  2. bonsoir, merci beaucoup pour la reponse.

    j'ai donc essaye :
    echo --------------------------
    echo titre :
    titre =$( `grep "^T " $2` )
    echo $titre
    echo --------------------------
    grep "^T " $2
    echo --------------------------

    ce qui donne :

    --------------------------
    titre :
    TP4.sh: 42: T: not found
    TP4.sh: 42: titre: not found

    --------------------------
    T iTunes is Anti-Web // TODO: find a more "catchy" name
    --------------------------

    donc le grep marche bien mais $titre n'est pas modifiee
    1. echo --------------------------
      echo titre :
      test=$(grep "^T" $2)
      echo $titre
      echo --------------------------
      grep "^T " $2
      echo --------------------------

      donne :
      --------------------------
      titre :

      --------------------------
      T iTunes is Anti-Web // TODO: find a more "catchy" name
      --------------------------
      1. Modérateur
        Echo --------------------------
        echo titre :
        test=$(grep "^T" $2)
        echo $titre
        echo --------------------------
        grep "^T " $2
        echo -------------------------- 
        Remplace "test" par "titre" et ça devrait aller mieux ;-))
    2. ok super ca marche merci beaucoup.

      par extension, comment puis je faire la meme chose pour un caracter qui n'est pas forcement en debut de ligne ?

      par exemple :

      T iTunes is Anti-Web // TODO: find a more "catchy" name
      mettre "iTunes is Anti-Web" dans $titre
      et "TODO: find a more "catchy" name" dans $commentaire

      merci encore
      1. Modérateur
        Re-

        Une solution entre autre :
        [tmpfs]$ ligne='T iTunes is Anti-Web // TODO: find a more "catchy" name'
        
        [tmpfs]$ echo ${ligne%//*}
        T iTunes is Anti-Web
        
        [tmpfs]$ echo ${ligne#*//}
        TODO: find a more "catchy" name
        
        [tmpfs]$
        ;-))