Importer des fichiers csv dans un tableau en shell
Résolu/Fermé
loulou
-
Modifié le 27 mars 2018 à 11:30
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 30 mars 2018 à 16:13
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 30 mars 2018 à 16:13
A voir également:
- Importer des fichiers csv dans un tableau en shell
- Tableau croisé dynamique - Guide
- Tableau ascii - Guide
- Wetransfer gratuit fichiers lourd - Guide
- Le fichier contient un tableau présentant un extrait des livres les plus prêtés à paris en 2016. filtrez le tableau pour ne faire apparaître que les bandes dessinées ado. puis filtrez le tableau pour ne faire apparaître que celles dont l'auteur est zep. quel est le titre de la bande dessinée ado de zep qui a été la plus prêtée d'après ce tableau ? ✓ - Forum Windows 10
- Tableau word - Guide
2 réponses
dubcek
Messages postés
18718
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
22 mars 2024
5 615
27 mars 2018 à 14:19
27 mars 2018 à 14:19
hello
1 fichier par élément du tableau
1 fichier par élément du tableau
$ ls *csv
f1.csv f2.csv f3.csv
$ more *csv
::::::::::::::
f1.csv
::::::::::::::
a;b;c;d
::::::::::::::
f2.csv
::::::::::::::
1;2;3;4
::::::::::::::
f3.csv
::::::::::::::
1000;1001;1002;1003;1004
$ readarray -t t < <(cat *csv)
$ echo ${#t[@]}
3
$ printf "%s\n" "${t[@]}"
a;b;c;d
1;2;3;4
1000;1001;1002;1003;1004
UnGnU
Messages postés
1158
Date d'inscription
lundi 2 mai 2016
Statut
Contributeur
Dernière intervention
22 décembre 2020
157
27 mars 2018 à 12:12
27 mars 2018 à 12:12
Bonjour,
C'est si compliqué que ça de chercher un minimum ?
C'est si compliqué que ça de chercher un minimum ?
UnGnU
Messages postés
1158
Date d'inscription
lundi 2 mai 2016
Statut
Contributeur
Dernière intervention
22 décembre 2020
157
>
loulou
27 mars 2018 à 12:25
27 mars 2018 à 12:25
Si tu as cherché comme tu dis, commence par nous montrer ce que tu as fait...
#!/bin/bash
set Tableau
awk 'BEGIN { FS=" " }
{ligne [NR] = $0
ref1 [NR] = $2
ref2 [NR] = $3
ref3 [NR] = $4 ## mon fichier à 4 lignes
}
END {
print NF
print NR
for ( i = 1 ; i <= NR ; i++ ){ printf( Tableau=ligne ) }
} ' fic1.csv
cette commande awk , récupère dans un premier temps toutes les lignes de fichier.csv en les mettant dans le tableau . puis après imprime à l'écran toute les lignes du fichier .
Suis-je sur la bonne voie???
L'objectif pour moi étant de concaténer le contenu du tableau par la suite.
Ps: j'ai plusieurs fichiers
set Tableau
awk 'BEGIN { FS=" " }
{ligne [NR] = $0
ref1 [NR] = $2
ref2 [NR] = $3
ref3 [NR] = $4 ## mon fichier à 4 lignes
}
END {
print NF
print NR
for ( i = 1 ; i <= NR ; i++ ){ printf( Tableau=ligne ) }
} ' fic1.csv
cette commande awk , récupère dans un premier temps toutes les lignes de fichier.csv en les mettant dans le tableau . puis après imprime à l'écran toute les lignes du fichier .
Suis-je sur la bonne voie???
L'objectif pour moi étant de concaténer le contenu du tableau par la suite.
Ps: j'ai plusieurs fichiers
UnGnU
Messages postés
1158
Date d'inscription
lundi 2 mai 2016
Statut
Contributeur
Dernière intervention
22 décembre 2020
157
>
loulou
28 mars 2018 à 11:43
28 mars 2018 à 11:43
La solution de dubcek ne te convient pas ?
Modifié le 28 mars 2018 à 07:15
28 mars 2018 à 09:52
Je vous remercie pour votre aide. Je vais tester cela et essayer de compléter pour voir si cela fonctionne.
Je vous tiens informé.
Merci
28 mars 2018 à 11:43
28 mars 2018 à 12:06
unset t; for f in *.csv; do t[${#t[@]}]=$(cat $f); done
Car mes fichiers sont dans un sous répertoire et il ne me les trouve pas.
28 mars 2018 à 12:08