Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 11/11/2008, à 00:49

djimbo

Awk : problème de print dans fichier

Bonsoir,

Une toute petite question ... j'aimerais vraiment savoir pourquoi le bout de shell suivant

more log |awk '
BEGIN{
print "### DEBUT DU AWK ###"
}

{
print "toto" > /home/djimbo/Developpements/rsync/Shell/out;
}

END{
print "### FIN DU AWK ###" 
}'

me génère un fichier nommé "0nan" au lieu d'un fichier "out" ????

Merci beaucoup !

Dernière modification par djimbo (Le 11/11/2008, à 00:49)


Ubuntu 8.10 on P5Q Pro + Core2Duo E5200@2.5GHz + Radeon 3850HD PCIe + 4 Go Ram + HD 1 To Spinpoint F1

Hors ligne

#2 Le 11/11/2008, à 11:53

Totor

Re : Awk : problème de print dans fichier

tout simplement parce que ta redirection n'est pas au bon endroit !
elle doit se faire après le programme awk .


-- Lucid Lynx --

Hors ligne

#3 Le 11/11/2008, à 12:32

thierry2351

Re : Awk : problème de print dans fichier

En fait, la syntaxe

print "toto" >"filename" est parfaitement légale avec awk.

Le problème vient de l'absence de guillemets autour du nom de fichier dans ton script.

Si on a :

print "toto" > /dir/ ,

awk considère /dir/ comme un pattern, et le remplacera par 0 ou 1 selon que "dir" apparait dans la ligne traitée

avec

print "toto" >/dir/file ,

il remplace par 0 (ou 1) suivi de nan (not a number), d'où le 0nan.

Hors ligne

#4 Le 12/11/2008, à 20:33

djimbo

Re : Awk : problème de print dans fichier

Merci beaucoup !

Pour ma culture perso qu'est ce que cela signifie :

"awk considère /dir/ comme un pattern" ???


Ubuntu 8.10 on P5Q Pro + Core2Duo E5200@2.5GHz + Radeon 3850HD PCIe + 4 Go Ram + HD 1 To Spinpoint F1

Hors ligne