Récupérer un mot dans un fichier

Fermé
saru99 Messages postés 24 Date d'inscription samedi 21 mars 2009 Statut Membre Dernière intervention 23 mars 2009 - 23 mars 2009 à 21:29
saru99 Messages postés 24 Date d'inscription samedi 21 mars 2009 Statut Membre Dernière intervention 23 mars 2009 - 23 mars 2009 à 22:51
Bonjour,

j'ai un fichier contenant ça :
TITLE=Titre_numero_1
SUBTITLE=titre2

comment pourais-je récupéré juste Titre_numero_1 dans une varible ??

j'ai essayé :
var=$(grep 'TITLE=' fichier)

cette commande récupére la premiére ligne et la deuxiéme ligne....or il me faut juste la premiére ligne...comment faire ?

Merci d'avance

10 réponses

synopsis8 Messages postés 1364 Date d'inscription dimanche 15 mars 2009 Statut Membre Dernière intervention 1 juin 2013 241
23 mars 2009 à 21:56
C'est tout simple :
var=$TITLE
0
saru99 Messages postés 24 Date d'inscription samedi 21 mars 2009 Statut Membre Dernière intervention 23 mars 2009
23 mars 2009 à 22:05
j'ai pas bien saissie...
merci
0
synopsis8 Messages postés 1364 Date d'inscription dimanche 15 mars 2009 Statut Membre Dernière intervention 1 juin 2013 241
23 mars 2009 à 22:11
Tu veux recuperer le terme
Titre_numero_1

Or ceci est deja affecte a une variable, et cette variable, c'est
TITLE


Tu peux l'affecter a une autre variable en faisant :
var=$TITLE



Tu peux encore visualiser le contenu de la variable TITLE en tapant :
echo $TITLE


pas besoinde jouer avec des
grep

Mais si tu veux jouer avec numeros de lignes, tu peux utiliser des
head
et
tail
sur ton fichier, ou encore les commandes
sed
et
awk

Mais dans ton cas precis, c'est pas la peine de se compliquer la vie, ta variable est deja affectee.
0
saru99 Messages postés 24 Date d'inscription samedi 21 mars 2009 Statut Membre Dernière intervention 23 mars 2009
23 mars 2009 à 22:15
j'ai un fichier "file.txt" qui contient :
TITLE=Titre_numero_1
SUBTITLE=titre2


comment avec just var=$TITLE on peut récupérer .... c pas possible....
0
synopsis8 Messages postés 1364 Date d'inscription dimanche 15 mars 2009 Statut Membre Dernière intervention 1 juin 2013 241
23 mars 2009 à 22:21
Ok, j'ai compris, c'est un fichier et non pas un script :

Tu peux essayer quelque chose du style
var=`grep TITLE fichier.txt |grep -v SUBTITLE |cut -d= -f 1`
0
saru99 Messages postés 24 Date d'inscription samedi 21 mars 2009 Statut Membre Dernière intervention 23 mars 2009
23 mars 2009 à 22:31
j'ai réussi à récupéré le mot dans une variable par un grep et deux commande sed....maintenant comment faire pr substitué un mot par une varible....?

j'ai essayé :
sed -e 's/mot/$var/' fichier et ca ne marche pas....

merci
0
jipicy Messages postés 40805 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 901
23 mars 2009 à 22:36
Remplace les quotes simples par des quotes doubles autour de l'expression.
Voir SED - Le remplacement de variables
0

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

Posez votre question
jipicy Messages postés 40805 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 901
23 mars 2009 à 22:33
Salut,
[tmpfs]$ cat fichier
TITLE=Titre_numero_1
SUBTITLE=titre2

[tmpfs]$ echo $TITLE


[tmpfs]$ source fichier

[tmpfs]$ echo $TITLE
Titre_numero_1

[tmpfs]$ 
;-))
0
saru99 Messages postés 24 Date d'inscription samedi 21 mars 2009 Statut Membre Dernière intervention 23 mars 2009
23 mars 2009 à 22:39
Quand je fais :

[tmpfs]$ source fichier


j'ai une erreur : bash: $'mani\350re': command not found....
0
jipicy Messages postés 40805 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 901 > saru99 Messages postés 24 Date d'inscription samedi 21 mars 2009 Statut Membre Dernière intervention 23 mars 2009
23 mars 2009 à 22:41
Y'a quoi d'autre dans ton fichier ???
0
saru99 Messages postés 24 Date d'inscription samedi 21 mars 2009 Statut Membre Dernière intervention 23 mars 2009 > jipicy Messages postés 40805 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020
23 mars 2009 à 22:42
Rien que ces deux lignes...
0
synopsis8 Messages postés 1364 Date d'inscription dimanche 15 mars 2009 Statut Membre Dernière intervention 1 juin 2013 241
23 mars 2009 à 22:34
Bizarre, la syntaxe est bonne :
Es-tu sur du contenu de ta variable var ?
0
saru99 Messages postés 24 Date d'inscription samedi 21 mars 2009 Statut Membre Dernière intervention 23 mars 2009
23 mars 2009 à 22:38
merci tt le monde...
j'ai essayé cette synthaxe :
var=A; echo 'azerty' | sed 's/a/'"$var"'/'
Azerty


et ca marche :)
0
synopsis8 Messages postés 1364 Date d'inscription dimanche 15 mars 2009 Statut Membre Dernière intervention 1 juin 2013 241
23 mars 2009 à 22:42
Pourquoi tu veux "sourcer" le fichier ?
0
jipicy Messages postés 40805 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 901
23 mars 2009 à 22:46
0
synopsis8 Messages postés 1364 Date d'inscription dimanche 15 mars 2009 Statut Membre Dernière intervention 1 juin 2013 241
23 mars 2009 à 22:51
Ok, tu veux charger toutes les variables, dans le fichier et t'en serviir comme si c'etait un script, mais c'est risque si tu ne sais pas ce qu'il y a dedans et tu peux ecraser des variables d'environnements et modifier des initialisations en typeset.

Alors qu'a coup de sed, awk, grep tu fais deja pas mal de choses.
0
saru99 Messages postés 24 Date d'inscription samedi 21 mars 2009 Statut Membre Dernière intervention 23 mars 2009
23 mars 2009 à 22:51
bon c'est pas grave, je vais me contenter du grep et des deux commandes sed.

merci encore
0