Script awk : extraction de données
Résolu
bouna
-
bouna -
bouna -
Bonjour,
je souhaite avoir un scripte sh qui fait l'extraction de données dans un fichier fich1 contenant plusieurs enregistrementspour contituer le fichier fich2
le fichier fich1 contient:
- un entete et un pied de page
- et plusieurs lignes contenant 849 caracteres chacune.
le scripte doit extraire les données de la meme ligne aux positions:
- 31 à 50
- 353 à 364
- 364 à 372
- 372 à 377
- 470 à 500
puis separe ces champs par un par '|'
merci de m'aider pour ce script
je souhaite avoir un scripte sh qui fait l'extraction de données dans un fichier fich1 contenant plusieurs enregistrementspour contituer le fichier fich2
le fichier fich1 contient:
- un entete et un pied de page
- et plusieurs lignes contenant 849 caracteres chacune.
le scripte doit extraire les données de la meme ligne aux positions:
- 31 à 50
- 353 à 364
- 364 à 372
- 372 à 377
- 470 à 500
puis separe ces champs par un par '|'
merci de m'aider pour ce script
A voir également:
- Script awk : extraction de données
- Script vidéo youtube - Guide
- Mas script - Accueil - Windows
- Ghost script - Télécharger - Polices de caractères
- Script cmd - Guide
- Une erreur est survenue dans le script de cette page - Forum Windows 10
J'ai demandé si awk est obligatoire, puisque pour ce genre de traitement je préfère sed par exemple.
cat fich:
1 ----------------------------- ceci est l'entete du fichier ------------------------------------
2 00CH39078 NOYAU PARIS KJHU89374 Y 83909937 - UYTEG ** UEY
3 00CH69385 TRAITRD JAPON GUH93845 N 73897838 - ZEGGH ** HHU
4
.........................................................................................................
.........................................................................................................
n -------------------------------- (n-2)ceci est la fin du fichier -------------------------------
- ici la longueur de la ligne est fixé a 60 caracteres (mon fichier reel 848 caracteres)
- le nombre de ligne est mentionné a la fin ligne a la position 36 et s'ecrie sur trois caractere '999' .
la position 36 de la dernière ligne donne le nombre de lignes à traiter ?
as tu une proposition? avec plaisir