Bonjour je suis debutant je veux copier une colonne d'un fichier texte chaque heure dans un fichier excel avec l'utilisation de awk .
Merci d'avance pour votre aide
Version imprimable
Bonjour je suis debutant je veux copier une colonne d'un fichier texte chaque heure dans un fichier excel avec l'utilisation de awk .
Merci d'avance pour votre aide
Bonjour,
c'est un peu court. :furax:
quel est le format du contenu du fichier "texte" ? quel est le format du contenu du fichier "excel", avant et après avoir utilisé awk ?
Qu'as-tu déjà essayé ?
awk est une contrainte ? sinon il y a paste :Code:
1
2
3
4
5
6
7
8
9
10
11
12
13 $ cat fichier.excel 123;456;789 456;789;123 789;123;456 $ cat fichier.txt 123 456 789 $ echo "$(paste -d';' fichier.excel fichier.txt)" >fichier.excel $ cat fichier.excel 123;456;789;123 456;789;123;456 789;123;456;789
merci bien mais je veux que chaque colonne du fichier excel prend une colonne des variables exemple
colonne A colonne B colonne C
123 456 789
456 789 123
789 123 456
et aprés execution du script on obtient
colonne A colonne B colonne C colonne D
123 456 789 123
456 789 123 456
789 123 456 789
alors il suffit de faire comme indiqué sans conserver le séparateur ";"
mais quel est ton problème ? tu ne trouves pas le manuel de awk pour en tester un bout de code ?
quelques indices : getline, et l'option -v
voilà comment je fais :ce n'est probablement pas optimisé : je ne me sers pas assez souvent de awk, mais ça a l'air de fonctionnerCode:awk -vDate=$(date +'%m/%d/%Y') -vnewData=test.txt '(NF > 1){ if(FNR >= 1){line = $0"\t"Date}else{line = $0; getline <newData; line = line"\t"$0} };(line){print line}' tester.xls
edit: err, non ça ne fonctionne pas; je cherche encore...
mais franchement : tout sur GNU awk !
ah !non, mais :)Code:awk '(NF > 1){ if(n){line = $0; getline <newData; line = line"\t"$0}else{line = $0"\t"Date; n++} };(line){print line}' Date=$(date +'%m/%d/%Y') newData="test.txt" tester.xls
qu'appelles-tu incrémentation ?
je crois que je commence à comprendre : les données du fichier.txt doivent aller sous la date à laquelle a été créé ce fichier. c'est ça ?
est-ce que tu peux exporter le fichier.xls au format csv ? parce que le format donné n'est pas hyper pratique :(
ah ! oui, c'est mieux, et surtout plus complet !
voilà ce que j'ai fait en awk :par contre, une fois le fichier 'resultat' affiché dans OOoCalc, les pourcentages de la colonne mise à jour sont alignés à gauche...?Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 # avant de lire un fichier, protection des contre-obliques de la date # # recherche de la ligne sur laquelle est la date # énumaration des champs # si la date ne coincide pas # incrémentation d'une variable n # autrement #affection d'une variable N = n+1 # affichage de la igne # passage à la ligne suivante # # si N existe # affichage des champs < N # concaténation des champs > N dans une variable # récupération d'une ligne du deuxième fichier # affichage de la ligne du deuxième fichier et de la variable concaténée # affichage saut de ligne # purge de la variable concaténée # autrement #affichage de la ligne
ah ? moi, j'ai tout à droite, sauf les pourcentages de la colonne mise à jour...?
mais là, je ne pourrai pas aider, j'utilise OOoCalc, une fois tous les pfff....:koi:...jamais :(
:D