Specifier nombre caractere à lire - awk
Résolu
teab
-
teab -
teab -
Bonjour,
Une nouvelle question m'amène ici, et je vous remercie (encore) par avance!
Voila mon problème. J' ai un fichier qui contient N lignes.
Je dois me placer à la ligne i qui ressemble à ca:
3.03800E+01-7.00611E-01 4.59240E-02 | H
Je dois dans un premier temps lire les trois valeurs qui comme vous pouvez le voir ne sont pas très bien séparées.
Pour lire la première et la troisième ça va. Mais pour lire la deuxième ( -7.00611E-01) ca me pose problème.
Par la suite il faut aussi que je modifie ces valeurs et j'ai le même problème.
Je voudrais donc trouver une méthode permettant de spécifier le nombre de caractère à lire ou à modifier pour chaque valeur. Du 12 au 23 pour la deuxième par exemple.
J'espère que ma question est claire.
Merci
teab
Une nouvelle question m'amène ici, et je vous remercie (encore) par avance!
Voila mon problème. J' ai un fichier qui contient N lignes.
Je dois me placer à la ligne i qui ressemble à ca:
3.03800E+01-7.00611E-01 4.59240E-02 | H
Je dois dans un premier temps lire les trois valeurs qui comme vous pouvez le voir ne sont pas très bien séparées.
Pour lire la première et la troisième ça va. Mais pour lire la deuxième ( -7.00611E-01) ca me pose problème.
Par la suite il faut aussi que je modifie ces valeurs et j'ai le même problème.
Je voudrais donc trouver une méthode permettant de spécifier le nombre de caractère à lire ou à modifier pour chaque valeur. Du 12 au 23 pour la deuxième par exemple.
J'espère que ma question est claire.
Merci
teab
A voir également:
- Specifier nombre caractere à lire - awk
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Caractère ascii - Guide
- Lire epub - Guide
- Caractère spéciaux - Guide
- Caractere speciaux - Guide
2 réponses
Bonjour,
As-tu regardé la fonction substr() de awk? Si tes champs ont une longueur fixe, elle devrait t'apporter la solution.
Pour le reste du traitement, donne-nous un exemple plus concret d'entrée et de sortie désiré.
As-tu regardé la fonction substr() de awk? Si tes champs ont une longueur fixe, elle devrait t'apporter la solution.
Pour le reste du traitement, donne-nous un exemple plus concret d'entrée et de sortie désiré.
hello
il y a aussi la variable FIELDWIDTHS de gawk
il y a aussi la variable FIELDWIDTHS de gawk
$ echo "3.03800E+01-7.00611E-01 4.59240E-02 | H"|gawk 'BEGIN{FIELDWIDTHS="11 12 12"};{print $1, $2, $3}' 3.03800E+01 -7.00611E-01 4.59240E-02 $