Traiter les fichier CSV
Fermé
sadia
-
25 août 2020 à 16:29
dubcek Messages postés 18753 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 7 novembre 2024 - 27 août 2020 à 15:09
dubcek Messages postés 18753 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 7 novembre 2024 - 27 août 2020 à 15:09
A voir également:
- Traiter les fichier CSV
- Fichier rar - Guide
- Fichier host - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier iso - Guide
3 réponses
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 417
26 août 2020 à 09:32
26 août 2020 à 09:32
Salut,
Il y a sans doute une solution plus simple et élégante avec
Il y a sans doute une solution plus simple et élégante avec
awk, mais en attendant, celle-ci avec
sedfait le job :
$ sed -n 'h;{n;s/.*;//;H;n;s/.*;//;H;n;s/.*;//;H;n;s/.*;//;H;g;s/;/=/;s/\n/+/g;p}' f1
2039489=5374789+6857797+7459945+3682095+7457929
2039489=5436485+5469013+3456739+4744859+8698722
dubcek
Messages postés
18753
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
7 novembre 2024
5 619
26 août 2020 à 15:13
26 août 2020 à 15:13
hello
$ awk -F ";" 'NR>1 {printf $1 "=" $2; for (n=1; n<5; n++){if(getline)printf "+" $2}; print ""}' file.csv
2039489=5374789+6857797+7459945+3682095+7457929
2039489=5436485+5469013+3456739+4744859+8698722
2039489=8960700+6575485
dubcek
Messages postés
18753
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
7 novembre 2024
5 619
27 août 2020 à 15:09
27 août 2020 à 15:09
ou aussi
$ awk -F ";" 'NR==2+n*5 {printf c $1 "=" $2; c=RS ; n++; next} NR>1 {printf "+" $2} END {print ""}' file.csv
2039489=5374789+6857797+7459945+3682095+7457929
2039489=5436485+5469013+3456739+4744859+8698722
2039489=8960700+6575485
27 août 2020 à 08:12
Heureusement, ZorroDubcek est arrivé ;-))