L'analyse de tous les éléments d'un tableau dans GAWK renvoie des nombres plutôt que des valeurs
Question
Étant donné la fonction suivante:
function process_pipes(text)
{
split(text,recs,"|");
for (field in recs){
printf ("|%s|\n", field)
}
}
Si l'entrée est: 0987654321 | 57300 | Numéro de compte ERREUR non trouvé | GDUMARESQ | 0199 | 9 | N | 0 ||
Pourquoi ai-je les chiffres ci-dessous au lieu du texte?
|4| |5| |6| |7| |8| |9| |10| |1| |2| |3|
La solution
split
crée un tableau recs
dans votre code, et recs [1]
== 0987654321, etc.,
La boucle pour (champ dans les enregistrements)
génère la liste des index, pas les éléments du tableau.
Vous avez donc besoin de:
function process_pipes(text)
{
split(text,recs,"|");
for (field in recs){
printf ("|%s|\n", recs[field])
}
}
Autres conseils
Parce que
for ... in
vous donne les touches . Utilisez
printf("|%s|\n",recs[field]);
pour obtenir les valeurs.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow