Téléchargement
illégal
Posez votre question Signaler

Commande grep [Résolu]

crazyghandi 311Messages postés 9 novembre 2007Date d'inscription 4 octobre 2011Dernière intervention - Dernière réponse le 24 mars 2009 à 07:40
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,
Lire la suite 

Commande grep »

8 réponses
Réponse
+0
moins plus
essaie plutt :
titre =$( `grep "^T " $2` )
jipicy- 23 mars 2009 à 22:56
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...
Ajouter un commentaire
Réponse
+0
moins plus
la syntaxe exacte est :

test=$(grep "^T" fichier)

++
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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
--------------------------
jipicy- 23 mars 2009 à 23:04
Echo --------------------------
echo titre :
test=$(grep "^T" $2)
echo $titre
echo --------------------------
grep "^T " $2
echo -------------------------- 
Remplace "test" par "titre" et ça devrait aller mieux ;-))
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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]$
;-))
Ajouter un commentaire
Ce document intitulé « commande grep » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?