Aide sur AWK SVP
Fermé
Caro
-
17 juin 2005 à 10:19
tafiscobar Messages postés 1277 Date d'inscription jeudi 7 décembre 2000 Statut Contributeur Dernière intervention 26 février 2009 - 18 juin 2005 à 12:20
tafiscobar Messages postés 1277 Date d'inscription jeudi 7 décembre 2000 Statut Contributeur Dernière intervention 26 février 2009 - 18 juin 2005 à 12:20
2 réponses
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
17 juin 2005 à 17:24
17 juin 2005 à 17:24
Salut,
Tu ne dois utiliser que "awk" comme filtre ?
Tu ne dois utiliser que "awk" comme filtre ?
tafiscobar
Messages postés
1277
Date d'inscription
jeudi 7 décembre 2000
Statut
Contributeur
Dernière intervention
26 février 2009
177
18 juin 2005 à 12:20
18 juin 2005 à 12:20
salut, pour ecrire dans un fichier en awk, il te suffit juste de faire un "print motaecrire >> fichier". Voici un exemple, ce n'est pas optimisé, mais ça te donnera une idée: Je considére qe le séparateur des champs c'est ";" et le séparateur des enregistrements c'est "\n".
#!/usr/bin/awk -f #fichier dbadd usage () { print ("dbadd: dbadd <prenom> <adrese> <codepo> <vile>\n"); } if (ARGC != 5) usage (); else # arguments = 5 print ARGV[1] ";" ARGV[2] ";" ARGV[3] ";" ARGV[4] ";" ARGV[5] "\n" >> "db"; close ("db"); ## fichier dbrm #!/usr/bin/awk -f BEGIN { if ARGC != 2 print "dbrm : dbrm <prenom_a_supprimer>"; else {FS =";" ; RS="\n"; prenom = ARGV[1]}} { if ($1 == prenom) next; print $0 >> "tmp"; } END { close ("db"); close ("tmp"); "cat tmp > db";} ## pour dbfind, c'est pareil, il suffit juste de l'adapter
18 juin 2005 à 09:42
Je pense que les fonctions que je dois créer doivent utiliser des commandes unix: pour le dbadd il faudrai la commande qui ajoute une ligne dans notre fichier de base de donnée..