|
|
Voir le sujet précédent :: Voir le sujet suivant |
Auteur |
Message |
nhung frontpage mioche
|
comparaison de fichiers , Posté le: 31-12-2003 3:53 |
|
|
Bonjour a tous,
voila je debute en developpement et en particulier avec awk que je suis obligee d'utiliser...
En gros c pas tres complique:
J'ai un fichier "mail" de la forme:
mot1 mot2 mot3
et un fichier "mots" de la forme:
truc
bidule
chouette
chose
En gros je veux juste voir si les mots de "mails" sont dans le fichier "mots" et si oui je voudrais avoir en sortie 1 si c le cas, 0 sinon
par exemple si "mails" etait
bidule machin
j'aurai 0100 en sortie ( parce que dans "mots" il n'y que bidule de commun)
En fait mon getline ne marche pas:
soit je balaie mon tableau compose de mots de " mails" et je ne balaie pas tous les mots de " mots"
soit je balaie tous les mots de " mots" et mon indice de tableau des mots de " mails" ne s'incremente pas...
Je crois que le getline qui sert a lire " mots" ne marche pas...
Ou alors g essaye de mettre les mots de " mots" dans un tableau mais ca marche pas ( puisque il y a un mot par ligne...)
SVP ce serait bien sympa de m'aider
MErci d'avance
Kim une tite debutante |
|
|
salemioche salemioche
|
comparaison de fichiers , Posté le: 31-12-2003 10:09 |
|
|
mets ton code que l'on puisse voir... |
|
|
nhung frontpage mioche
|
en fait c bon g trouve mais autre question... , Posté le: 01-01-2004 22:45 |
|
|
Bonjour,
en fait je ne connais pas bien le fontionnement de getline:
Voila, en fait cette fois ci j'essaie de coder des champs pour avoir des sorties en "binaires". Je m'explique:
Imaginons que j'ai le fichier1 de cette forme:
un deux trois
one two three
et un fichier2:
un one eins uno
En gros je voudrais que pour chaque ligne de fichier 2 il me sorte le codage selon la "base" de fichier2
En l'occurence ici on aurait en sortie
1000
0100
Voici le programme que g fait.
Code: |
{
trouve = 0
if (( getline <"fichier2")>0)
{
ligne=$0
}
max=split(ligne,tab," ")
for (i=1;i<=max;i++)
{
if (tab[i]==$1)
{
sortie=sortie"1"
trouve=1
}
else
{
sortie=sortie"0"
}
}
}
END{
printf("%s", sortie) |
En fait a partir du moment ou j'utilise getline ben mes $1, $2, etc ben deviennent les champs de "fichier2"...
Et je voudrai que ca reste les champs du fichier d'origine donne en entree...
MErci d'avance pour votre aide
Kim toujours debutante |
|
|
salemioche salemioche
|
comparaison de fichiers , Posté le: 02-01-2004 9:52 |
|
|
ce n'est pas possible le getline ecrase $0 et recalcule $1,$2...
la seule solution est de mettre le contenu de $1,$2... dans un tableau avant de faire le getline |
|
|
|
|
Accueil Forum
-> awk |
Toutes les heures sont au format GMT + 1 Heure
|
Page 1 sur 1 |
|
S'enregistrer
Profil
Se connecter pour vérifier ses messages privés
Rechercher
Membres
FAQ
Connexion
|