Importer des fichiers csv dans un tableau en shell
Résolu
loulou
-
zipe31 Messages postés 34620 Date d'inscription Statut Contributeur Dernière intervention -
zipe31 Messages postés 34620 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai besoin de votre aide car je suis totalement perdu.
J'ai un certains nombre de fichers.csv.
Je dois écrire un script qui cherchera dans le sous-répertoire tous les fichiers et qui les mettra dans d’un tableau.. Chaque fichiers csv doit se retrouver dans une case du tableau.
Quelqu'un pour m'orienter???
merci
J'ai besoin de votre aide car je suis totalement perdu.
J'ai un certains nombre de fichers.csv.
Je dois écrire un script qui cherchera dans le sous-répertoire tous les fichiers et qui les mettra dans d’un tableau.. Chaque fichiers csv doit se retrouver dans une case du tableau.
Quelqu'un pour m'orienter???
merci
2 réponses
-
hello
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-
ne fonctionne pas avec des fichiers multilignes, je regarde
$ more *.csv
::::::::::::::
f1.csv
::::::::::::::
a;b;c;d
e;f;g;h
::::::::::::::
f2.csv
::::::::::::::
1;2;3;4
5;6;7;8
::::::::::::::
f3.csv
::::::::::::::
1000;1001;1002;1003;1004
2000;2001;2002;2003;2004
$ unset t; for f in *.csv; do t[${#t[@]}]=$(cat $f); done
$ echo ${#t[@]}
3
$ echo "${t[0]}"
a;b;c;d
e;f;g;h
$ echo "${t[1]}"
1;2;3;4
5;6;7;8
$ echo "${t[2]}"
1000;1001;1002;1003;1004
2000;2001;2002;2003;2004 -
-
-
-
-
-
-
-
-
#!/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 -
-
-