Heu.. oui c'est bon ! Bizarre, mais bon !
La syntaxe awk c'est: condition {action} (l'action par défaut est: print $0)
Pour avoir toutes les lignes dont le 12e mot commence par 12345, il suffit de: awk '$12 ~ /^12345/' toto.txt
Le ^ veut dire: au début ($ veut dire à la fin).
Le length($12) ne sert à rien: il vérifie juste si $12 est non vide, équivalent à: $12 != "". Mais si $12 est vide, jamais $12 ne commencera pas 12345 !
Donc substr($12,1,5) == "12345" suffit.
Tu peux rajouter d'autres conditions sur d'autres mots de la ligne en les conbinant logiquement à la C: awk '$2 ~ /23456/ && $12 ~ /12345/' toto.txt