Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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 hmm

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 wink


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 smile"

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 smile.

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 ? smile

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

Sciensous #4 a écrit :

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 smile

@pingouinux: certes, mais je ne voulais pas trop compliquer, et montrer au passage que l'extension n'a aucun interet.
cool


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