#1 Le 18/11/2011, à 10:23
- gregbize
[RESOLU] Compter lignes dans dans des fichiers xls
Bonjour,
j'aimerai connaitre le nombre de lignes dans chaque fichier excel d'un repertoire:
j'ai testé :
wc -l *.xls
143796 backlog021111.xls
144044 backlog031111.xls
143562 backlog0411.xls
145291 backlog0711.xls
139521 backlog081111.xls
135927 backlog091111.xls
138766 backlog101111.xls
149599 backlog141111.xls
142408 backlog151111.xls
138098 backlog161111.xls
139436 backlog171111.xls
142158 backlog181111.xls
1702606 total
J'ai cru réussir mais les fichiers contiennent réellement un maximum de 15000 lignes
Peux etre que la commande compte les lignes vides? dois je convertir en csv? ou il y a une autre astuce?
Merci pour votre aide.
Dernière modification par gregbize (Le 16/12/2011, à 15:04)
Hors ligne
#2 Le 18/11/2011, à 15:47
- pingouinux
Re : [RESOLU] Compter lignes dans dans des fichiers xls
Bonjour,
Les fichiers *.xls ne sont pas des fichiers textes. La commande wc détermine le nombre de lignes en comptant le nombre d'occurences du caractère '\n'. Il faudrait éventuellement les sauvegarder sous forme de fichiers textes, comme *.csv (je viens de faire un essai, et ça marche).
Hors ligne
#3 Le 18/11/2011, à 16:01
- gregbize
Re : [RESOLU] Compter lignes dans dans des fichiers xls
ok merci, j'ai utilisé la commande xls2csv pour convertir mais ca m'a fusionné mes fichiers en un seul.
xls2csv *.xls > *.csv
j'ai qd meme fait la commande wc-l et le nombre de ligne semble correspondre.
Avez vous une idée, pour que je puisse convertir tous les fichiers un par un?
Merci encore.
Hors ligne
#4 Le 18/11/2011, à 16:17
- Sciensous
Re : [RESOLU] Compter lignes dans dans des fichiers xls
for fichier in *.xls; do xls2csv $fichier > $fichier.csv; wc -l $fichier.csv; done;
edit:
xls2csv *.xls > *.csv
convertit tous les xls mais ne les mets que dans le derniers fichier converti
Dernière modification par Sciensous (Le 18/11/2011, à 16:18)
antiX 19 et 21 et Ubuntu 20.04 et 22.04
( sous LXDE et gnome-shell )
Hors ligne
#5 Le 18/11/2011, à 16:29
- gregbize
Re : [RESOLU] Compter lignes dans dans des fichiers xls
Merci par contre comme t'as mis $fichier > $fichier.csv ca reprend le nom du fichier meme l'extension.
du coup ca fait fichier.xls.csv
Enfin ca marche en tout cas ta technique et j'ai bien le bon nbre de ligne, merci !!
Dernière modification par gregbize (Le 18/11/2011, à 16:31)
Hors ligne
#6 Le 18/11/2011, à 16:38
- Sciensous
Re : [RESOLU] Compter lignes dans dans des fichiers xls
de rien.
l'extension n'a qu'une importance mineure sous unix (ça aurait pu être aussi .txt, ça ne change rien) - je ne pensais pas que ça t'aurais choqué , enfin maintenant tu le sais
antiX 19 et 21 et Ubuntu 20.04 et 22.04
( sous LXDE et gnome-shell )
Hors ligne
#7 Le 18/11/2011, à 16:45
- gregbize
Re : [RESOLU] Compter lignes dans dans des fichiers xls
oui je dois signer mes messages en mettant
"noob d'unix "
en fait j'ai un petit serveur sous ubuntu jsute pour héberger quelques sites et un serveur mumble.
Je m'en sers aussi pour le boulot, pour tester des CRM ou lancer des commandes genre cat ou celles ci dessus, qui necessite des programmes sous windows .
C'est bizarre a dire mes linux c'est plus simple que windows en fait.
En tous cas merci, vous etes géniaux sur ce forum.
Hors ligne
#8 Le 18/11/2011, à 17:21
- sputnick
Re : [RESOLU] Compter lignes dans dans des fichiers xls
Un one-liner python, ca te tente ?
python2 -c 'import xlrd,sys; print xlrd.open_workbook(sys.argv[1]).sheet_by_index(0).nrows' FICHIER.xls
Evidemment, faut installer le module xlrd
On ne peut pas mettre d'array dans un string!
https://sputnick.fr/
Hors ligne
#9 Le 18/11/2011, à 17:41
- pingouinux
Re : [RESOLU] Compter lignes dans dans des fichiers xls
for fichier in *.xls; do xls2csv $fichier > $fichier.csv; wc -l $fichier.csv; done;
Pour ne pas avoir une double extension sur les fichiers.csv :
for fichier in *.xls; do xls2csv $fichier > ${fichier%.*}.csv; done;
wc -l *.csv;
Hors ligne
#10 Le 18/11/2011, à 20:52
- Sciensous
Re : [RESOLU] Compter lignes dans dans des fichiers xls
faudra penser à mettre en résolu si ok
@sputnick: ce n'est pas très pédagogique ta soluce
@pingouinux: certes, mais je ne voulais pas trop compliquer, et montrer au passage que l'extension n'a aucun interet.
antiX 19 et 21 et Ubuntu 20.04 et 22.04
( sous LXDE et gnome-shell )
Hors ligne
#11 Le 18/11/2011, à 21:07
- pingouinux
Re : [RESOLU] Compter lignes dans dans des fichiers xls
@Sciensous #10 : C'est parce que ça avait l'air d'intéresser gregbize. Et il y avait d'ailleurs encore plus simple : ${fichier/.xls/.csv}
Hors ligne