Export de donnees sous bash dans un fichier csv

Fermé
Hercule55 - 11 juil. 2018 à 15:52
 Utilisateur anonyme - 11 juil. 2018 à 19:51
Bonjour,

Je travaille actuellement sur un pc centos7 je genere des rapports avec des scripts en bash.
J'ai donc un fichier texte "rapport.out" et j'aurai besoin de recuperer certaines de ces donnees en les exportant dans un fichier excel/CSV.
Je ne sais pas du tout comment m'y prendre je debute en bash.

Toutes pistes de depart sont les bienvenues !
Je ne trouve pas de methodes sur internet...

Merci !

A voir également:

3 réponses

jee pee Messages postés 39637 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 25 avril 2024 9 235
11 juil. 2018 à 16:13
Bonjour,

Pour que quelqu'un qui connait le scripting sous linux puisse te donner des pistes, il faudrait que tu détailles ta question, pour le moins que tu décrives le contenu de ton fichier en entrée et le format du fichier voulu au final. Tu peux aussi donner un exemple du contenu du fichier.

Cdlt
0
Ok le fichier d'entree est un fichier texte avec des donnees de type :

Duree totale du test : hh:mm:ss
Nombre d'iteration : x
Tests reussis : y
Tests rates : x - y
ratio : (y/x)*100

Ensuite il y a differents type d'erreurs possibles identifies dans le fichier texte par exemple :
erreur 1 : 12
erreur 2 : 8
erreur 3 : 0

Je souhaite donc a partir de ces donnees creer un fichier csv du type :

Duree test, Nombre iteration, passed, failed, ratio, erreur 1, erreur 2, erreur 3
hh:mm:ss, x, y, x-y, (y/x)*100, 12, 8, 0,


Je ne sais pas si il vaut mieux prendre en fichier d'entree le fichier texte ou le script generant le fichier texte.

J'ai pense a utiliser les fonctions de 'grep' pour recuperer chaque donnee souhaite mais je crains que ca soit un peu lourd.


Merci !
0
Utilisateur anonyme
11 juil. 2018 à 19:03
salut,

c'est tout ? il n'y a que ça dans le fichier ?
alors ce n'est pas compliqué : tu concatènes dans une variable tout ce qui est après les deux points, et quand le fichier est fini d'être lu ligne par ligne, hop! tu affiches le contenu de la variable.

mais on ne va pas le faire à ta place.
0
Non c'est un fichier assez important avec les logs de chaque iteration du test, mais en ecrivant le script j'ai fait apparaitre au debut du rapport un resume avec ces donnees.
Avec une commande "head -n20 report.out" j'affiche que les donnees que je souhaite exporter.

Pour l'instant j'ai une dizaine de rapports et je souhaite faire un excel/CSV avec les donnees de tous.
0
Utilisateur anonyme
11 juil. 2018 à 19:51
sans structure de données stable fournie, pas de réponse réaliste possible.
0
jee pee Messages postés 39637 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 25 avril 2024 9 235
11 juil. 2018 à 16:52
Je vais rediriger la discussion vers le forum linux qui semble plus adapté.

Si le txt est généré par un script, ce même script pourrait effectivement à la place constituer le csv.

le grep/sed risque d'être compliqué pour rassembler des lignes. Il faudrait plutôt regarder du coté du awk. Je ne pratique pas assez pour t'aider sur ces commandes, je vais laisser de plus qualifiés poursuivre ;-)
0
Ok merci
0