Lire chaque mot d'une ligne
Résolu
lanulledu28
-
lanulledu28 -
lanulledu28 -
Bonjour,
Je suis novice et je cherche un peu d'aide.
Je souhaite lire chaque mot d'une ligne d'un fichier pour le mettre dans une variable.
Par exemple,
dans le fichier Toto :
J'utilise la fonction sur ma ligne (que j'ai deja extraite)
et voudrais plutôt utiliser sfift car j'ai pas mal de mot sur la ligne.
merci de vos reponses
Je suis novice et je cherche un peu d'aide.
Je souhaite lire chaque mot d'une ligne d'un fichier pour le mettre dans une variable.
Par exemple,
dans le fichier Toto :
ligne=tutu titi 123 tata 251 144 Et je voudrais : var1 = tutu var2=titi ....
J'utilise la fonction sur ma ligne (que j'ai deja extraite)
var1 = 'ligne|gawk -F" " '{print $1}'
et voudrais plutôt utiliser sfift car j'ai pas mal de mot sur la ligne.
merci de vos reponses
A voir également:
- Lire chaque mot d'une ligne
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Lire epub - Guide
- Partager photos en ligne - Guide
- Trousseau mot de passe iphone - Guide
- Mot de passe - Guide
10 réponses
je pense que je vais tester chaque variable l'une autre l'autre
Bon courage!
J'insiste: tu devrais construire le fichier de données avec un séparateur (que ce soit une virgule, un point-virgule, une tabulation, ou autre chose).
Bon courage!
J'insiste: tu devrais construire le fichier de données avec un séparateur (que ce soit une virgule, un point-virgule, une tabulation, ou autre chose).
Salut,
Utilise un tableau plutôt, non ?
Utilise un tableau plutôt, non ?
$ ligne=( tutu titi 123 tata 251 144 ) $ echo ${ligne[*]} tutu titi 123 tata 251 144 $ echo ${#ligne[*]} 6 $ echo ${ligne[0]} tutu $ echo ${ligne[2]} 123 $ echo ${ligne[5]} 144 $
salut,
Je souhaite lire chaque mot d'une ligne d'un fichier pour le mettre dans une variable.
Ce n'est pas une stratégie viable.
Tu vas être très embêté par la suite pour retrouver la bonne variable, et ça va amener une solution risquée.
Utiliser un tableau peut être une solution, mais est-ce vraiment utile ?
Sans en savoir plus, je ne peux pas en dire davantage.
Je souhaite lire chaque mot d'une ligne d'un fichier pour le mettre dans une variable.
Ce n'est pas une stratégie viable.
Tu vas être très embêté par la suite pour retrouver la bonne variable, et ça va amener une solution risquée.
Utiliser un tableau peut être une solution, mais est-ce vraiment utile ?
Sans en savoir plus, je ne peux pas en dire davantage.
Oui pour mettre chaque variable a la bonne place ça risque d'être tendu.
Une ligne est structurée de la façon suivante :
Un tableau peut être problématique car le nombre de variable n'est pas fixe ...
Une ligne est structurée de la façon suivante :
Nom1 Prenom1 Age Année_Naissance Date_Abonnement Type_Abonnement Status(optionnel) 1111 Magazine Numéro_Magazine ce qui donne : Dupond Gerard 23 1990 12/12/12 mensuel impayé 1111 Sport 2 Martin Paul 35 1961 12/12/11 mensuel 1111 Science 5
Un tableau peut être problématique car le nombre de variable n'est pas fixe ...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Un tableau peut être problématique car le nombre de variable n'est pas fixe ...
#1- construire correctement le fichier de données : CSV? champs de longueurs fixes?
#1- construire correctement le fichier de données : CSV? champs de longueurs fixes?
$ cat plop Dupond Gerard 23 1990 12/12/12 mensuel impayé 1111 Sport 2 Martin Paul 35 1961 12/12/11 mensuel 1111 Science 5 $ cat foo.sh #!/bin/bash while read Nom Prenom Age Anniv Abon Type Status Ref Mag NumMag do echo " Nom = ${Nom} Prénom = ${Prenom} Age = ${Age} Date de Naissance = ${Anniv} Date d'abonnement = ${Abon} Type d'abonnement = ${Type} Status = ${Status} Référence = ${Ref} Magazine = ${Mag} Numéro de magazine = ${NumMag} " done < plop $ ./foo.sh Nom = Dupond Prénom = Gerard Age = 23 Date de Naissance = 1990 Date d'abonnement = 12/12/12 Type d'abonnement = mensuel Status = impayé Référence = 1111 Magazine = Sport Numéro de magazine = 2 Nom = Martin Prénom = Paul Age = 35 Date de Naissance = 1961 Date d'abonnement = 12/12/11 Type d'abonnement = mensuel Status = 1111 Référence = Science Magazine = 5 Numéro de magazine = $
Effectivement je ne suis mal exprimé,
En donnée brut j'ai plusieurs lignes telque
->Dupond Gerard 23 1990 12/12/12 mensuel impayé 1111 Sport 2
->Martin Paul 35 1961 12/12/11 mensuel 1111 Science 5
->Durant 25 1955 12/12/12 hebdo 1111 Tricot 4 Musco 9
malheureusement , les variables ne sont pas à la meme place pour chaque ligne.7Par exemple , après la variable Nom on peut lire soit Prenom soit directement l'age Age ,
de meme pour status pour la deuxieme ligne tout est decalé.
Tu obtient :
Nom = Martin
Prénom = Paul
Age = 35
Date de Naissance = 1961
Date d'abonnement = 12/12/11
Type d'abonnement = mensuel
Status = 1111
Référence = Science
Magazine = 5
Numéro de magazine =
alors qu'il faudrait :
Nom = Martin
Prénom = Paul
Age = 35
Date de Naissance = 1961
Date d'abonnement = 12/12/11
Type d'abonnement = mensuel
Status =
Référence = 1111
Magazine = Science
Numéro de magazine = 5
En donnée brut j'ai plusieurs lignes telque
->Dupond Gerard 23 1990 12/12/12 mensuel impayé 1111 Sport 2
->Martin Paul 35 1961 12/12/11 mensuel 1111 Science 5
->Durant 25 1955 12/12/12 hebdo 1111 Tricot 4 Musco 9
malheureusement , les variables ne sont pas à la meme place pour chaque ligne.7Par exemple , après la variable Nom on peut lire soit Prenom soit directement l'age Age ,
de meme pour status pour la deuxieme ligne tout est decalé.
Tu obtient :
Nom = Martin
Prénom = Paul
Age = 35
Date de Naissance = 1961
Date d'abonnement = 12/12/11
Type d'abonnement = mensuel
Status = 1111
Référence = Science
Magazine = 5
Numéro de magazine =
alors qu'il faudrait :
Nom = Martin
Prénom = Paul
Age = 35
Date de Naissance = 1961
Date d'abonnement = 12/12/11
Type d'abonnement = mensuel
Status =
Référence = 1111
Magazine = Science
Numéro de magazine = 5
Oui pour certains, mais en ce qui concerne le champ "Prenom", sans compter les 4 derniers qui sont apparemment très aléatoire concernant l'ordre ;-\
En donnée brut j'ai plusieurs lignes telque ->Dupond Gerard 23 1990 12/12/12 mensuel impayé 1111 Sport 2 ->Martin Paul 35 1961 12/12/11 mensuel 1111 Science 5 ->Durant 25 1955 12/12/12 hebdo 1111 Tricot 4 Musco 9