Awk - Récupération de champ
remousse
Messages postés
299
Date d'inscription
Statut
Membre
Dernière intervention
-
dubcek Messages postés 19021 Statut Contributeur -
dubcek Messages postés 19021 Statut Contributeur -
Bonjour,
J'ai un fichier comme ceci :
Je scanne ce fichier et ne récupère que la valeur du numéro, la durée, la taille et la date afin de construire un fichier csv comme ceci:
25905;10;54121;25/02/1998.
Aucun problème avec awk, sauf lorsque j'ai une durée nulle (Durée :), j'obtiens donc un csv comme cela : 25905;Durée:;54121;25/02/1998.
J'aimerai pouvoir avoir 25905;;54121;25/02/1998 à la place.
Voici une partie de mon code :
Par avance merci.
J'ai un fichier comme ceci :
numéro : 25905
Prenom : toto
Duree : 10
Taille : 54121
Date : 25/02/1998
:
Commentaires
Je scanne ce fichier et ne récupère que la valeur du numéro, la durée, la taille et la date afin de construire un fichier csv comme ceci:
25905;10;54121;25/02/1998.
Aucun problème avec awk, sauf lorsque j'ai une durée nulle (Durée :), j'obtiens donc un csv comme cela : 25905;Durée:;54121;25/02/1998.
J'aimerai pouvoir avoir 25905;;54121;25/02/1998 à la place.
Voici une partie de mon code :
awk '
BEGIN {
TopNbrBEGIN=0
TopNbrTYPE=0
}
{
if ($1 == "numéro")
{
printf("%s;",$NF)
TopNbrBEGIN++
while (getline > 0) {
if ($1 == "Commentaires") {
TopNbrTYPE=0
next
}
if ($1 ~ /^Duree/) {
printf("%s;",$NF)
continue
}
if ($1 ~ /^Taille/) {
printf("%s;",$NF)
continue
}
if ($1 ~ /^Date/) {
printf("%s\n",$NF)
continue
}
continue
}
}
} ' $file >> $filename.csv
Par avance merci.
A voir également:
- Awk - Récupération de champ
- Récupération de déchets - Guide
- Convertisseur récupération de texte - Guide
- Recuperation video youtube - Guide
- Récupérer au terminal de fret - Forum Consommation & Internet
- Le serveur de récupération n'a pas pu être contacté - Forum MacOS