Christophe Martin <christophe.martin@sdt.univ-brest.fr> writes:
Ben euh, tu te crées un compte et tu appuies sur "Éditer cette page" ? Ok Merci nickel, j'essaierai. Mais comment connait-on l'auteur d'une page ?
hmmm dans le recent changes, mais je vais rajouter la ligne qui indique le dernier auteur en fin de page
Et euh c'est quoi le problème avec ma^Wla page sur awk ?
Le script des nouveaux UID est faux : si l'UID 65533 est utilise il dira d'utiliser 65534.
c'est une blague ? Tu crois que les gens sont assez con pour pas corriger eux meme si l'uid du nobody est différent de celui que j'ai donné ? En plus c'est bien marqué « exemple »
nobody est pas toujours 65534 (ce qe tu remarques d'ailleurs)
on pourrait utiliser une condition du genre : ! /^nobody/
effectivement, je pourrais faire un check $1
ou, pour faire ceinture et bretelles (mais le script reste faux): ! /^nobody/ && $3 != 65534
il est parfaitement inutile d'initialiser la variable nuid.
oui je sais bien, j'aurais du le préciser, le but c'etait surtout d'utiliser le bloc BEGIN { }
a titre d'info certain solaris ont 2 nobody : nobody4:65534 et nobody:60001
effectivement, j'ai un peu honte du coup ! (c'est nobody et noaccess ici)
FNR n'est pas une invention GNU. C'est disponible dans tout new-awk qui se respecte. awk a d'abord ete defini par je sais pas qui (Aho, Weinberger et Kernighan), puis une seconde definition est venue de je ne sais ou, c'est la definition du new-awk., evidement, sous linux tous les awks sont des new awk.
oui désolé, jusqu'il n'y a pas longtemps je croyais naivement qu'il n'y avait que deux versions de ce genre d'outils, la version GNU et les autres, mais je me rend compte que c'est plus complexe que ca
Phrase pas clair : "La numerotation commence a zero" ==> pour qui ? awk ? surement pas.
hmmm, au temps pour moi
pour un fichier ? un fichier, c'est des data (ici), ca calcule pas.
pas compris
Le style enfin. Il ne faut pas oublier qu'un script awk c'est une suite de paires : test action Si le test est asbsent, on considere que c'est un test toujours vrai Si l'action est absente l'action par defaut est l'affichage on ne peut omettre les deux (un script vide ne produit rien)
Faire une action a tout faire et la remplir de test est anti awkesque
ok, pour ma part j'ai toujours l'habitude de cloisonner une section a travers des { } (perl tout ca), je retiens
Cela est vrai pour le premier script qui se reecrit plus awkesquement : getent passwd | nawk -F : ' !/^nobody/ && $3 != 65534 { nuid=$3 } END { print nuid + 1}' note que comme ca il est toujours faux et bugge. pour le debugger il faudrait par exemple le reecrire comme ca : nawk -F : ' END { while( ! valide( "", nuid )) ++nuid print nuid } function valide( logon, uid ) { return logon !~ /^nobody/ && uid != 65534 } valide( $1, $3) && nuid < $3 { nuid = $3 + 1 } '
et pour le second qui s'ecrit en fait ainsi : nawk 'FNR % 2' ou nawk '!(FNR % 2)' suivant qu'on veut commencer a la premiere ou a la deuxieme.
Ben fais en profiter tout le monde en mettant sur le wiki, c'est toujours le même problème dans le milieu libre, les gens qui savent un peu ou pas du tout font des choses, et les gens qui savent ne font rien, et on arrive à des docs "fausses" Du coup je vais retirer mes exemples socat puisqu'ils sont certainement faux aussi \o/ -- http://asyd.net/home/ - Home Page http://guses.org/home/ - French Speaking Solaris User Group