créer un site


comparaison de fichiers

Poster un nouveau sujet sur awk   Répondre au sujet à awk:comparaison de fichiers    Accueil Forum -> awk
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
nhung
frontpage mioche
frontpage mioche
Messagecomparaison 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
salemioche
Messagecomparaison de fichiers , Posté le: 31-12-2003 10:09

mets ton code que l'on puisse voir...
nhung
frontpage mioche
frontpage mioche
Messageen 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
salemioche
Messagecomparaison 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
Montrer les messages depuis:   
Poster un nouveau sujet sur awk   Répondre au sujet à awk:comparaison de fichiers    Accueil Forum -> awk Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1

 
Sauter vers:  
S'enregistrerS'enregistrer
ProfilProfil
Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés
RechercherRechercher
Liste des MembresMembres
FAQFAQ
ConnexionConnexion 


© Mentions Légales