Commande grep

Résolu
crazyghandi Messages postés 323 Statut Membre -  
jipicy Messages postés 41342 Statut Modérateur -
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,
A voir également:

6 réponses

saru99 Messages postés 24 Statut Membre
 
essaie plutt :
titre =$( `grep "^T " $2` )
0
jipicy Messages postés 41342 Statut Modérateur 4 896
 
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...
0
saru99 Messages postés 24 Statut Membre
 
la syntaxe exacte est :

test=$(grep "^T" fichier)

++
0
crazyghandi Messages postés 323 Statut Membre 19
 
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
0
crazyghandi Messages postés 323 Statut Membre 19
 
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
--------------------------
0
jipicy Messages postés 41342 Statut Modérateur 4 896
 
Echo --------------------------
echo titre :
test=$(grep "^T" $2)
echo $titre
echo --------------------------
grep "^T " $2
echo -------------------------- 
Remplace "test" par "titre" et ça devrait aller mieux ;-))
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
crazyghandi Messages postés 323 Statut Membre 19
 
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
0
jipicy Messages postés 41342 Statut Modérateur 4 896
 
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]$
;-))
0