Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1728 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  [RESOLU]Compter le nombre de ligne d'un fichier

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[RESOLU]Compter le nombre de ligne d'un fichier

n°1277972
yoshi42
Posté le 06-01-2006 à 03:50:12  profilanswer
 

Bonjour,
je cherche une commande permettant de renvoyer le nombre de ligne d'un fichier
Auriez vous une suggestion?  
 
pour l'instant j'utilise un

Code :
  1. cat fichier | while read line
  2. do
  3. #incermentation d'une variable
  4. done


mais je suis sur qu'il existe une commande pour renvoyer directement ça, non?

Message cité 1 fois
Message édité par yoshi42 le 07-01-2006 à 04:29:42
mood
Publicité
Posté le 06-01-2006 à 03:50:12  profilanswer
 

n°1277973
Pillow
'cos the trees won't talk
Posté le 06-01-2006 à 05:03:59  profilanswer
 

Il y a

wc -l fichier

mais ça affiche aussi le nom du fichier. Tu peux utiliser cut pour récupérer le premier champ.
 
 
 
Sinon

sed -n '$=' fichier

ou encore

awk 'END {print NR}' fichier

feront l'affaire.


Message édité par Pillow le 06-01-2006 à 05:08:16
n°1278015
PierreC
Posté le 06-01-2006 à 10:08:58  profilanswer
 

sinon un  
cat fic | wc -l


---------------
Du tofu en Alsace : www.tofuhong.com
n°1278557
Sve@r
Posté le 07-01-2006 à 01:25:17  profilanswer
 

yoshi42 a écrit :

Bonjour,
je cherche une commande permettant de renvoyer le nombre de ligne d'un fichier
Auriez vous une suggestion?  
 
pour l'instant j'utilise un

Code :
  1. cat fichier | while read line
  2. do
  3. #incermentation d'une variable
  4. done


mais je suis sur qu'il existe une commande pour renvoyer directement ça, non?


 
Comme d'autres l'ont dit, wc marche très bien.
 
Je voudrais mettre un bémol sur ta structure parce que ça fonctionne nickel en ksh mais pas en sh ni bash. Pourquoi, j'en sais rien mais il se trouve que, à mon avis, le pipe génère un sous-processus dans lequel ta variable s'incrémente... mais à la fin du done, ben t'as plus de processus donc t'as plus de variable. Pourquoi ça fonctionne en ksh ? j'en sais rien. Mais j'ai déjà testé dans différents shells...
 
Tu peux, pour pallier ce pb, utiliser les parenthèses comme ceci

Code :
  1. cat fichier | ( while read line
  2. do
  3. #incermentation d'une variable
  4. done
  5. echo $variable
  6. )


 
Ou bien ne pas mettre de pipe, comme ceci

Code :
  1. exec 3<fichier
  2. while read line 0<&3
  3. do
  4. #incermentation d'une variable
  5. done
  6. echo $variable


 
 


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
n°1278566
yoshi42
Posté le 07-01-2006 à 04:29:16  profilanswer
 

Merci pour toutes ces infos  :jap:

n°2388710
petitpetit​petit1
Posté le 20-06-2021 à 18:01:11  profilanswer
 

Il existe une commande DOS qui compte le nombre exact de lignes dans un ou plusieurs fichiers texte :
find /v /c "&*fake&*" *.txt >fichier_resultat.txt
La chaîne improbable "&*fake&*" permet de balayer toutes les lignes des fichiers, sans exception. Voir syntaxe de la commande find pour les autres options.

n°2388713
rat de com​bat
attention rongeur méchant!
Posté le 20-06-2021 à 19:10:45  profilanswer
 

15 ans de déterrage, pas mal...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  [RESOLU]Compter le nombre de ligne d'un fichier

 

Sujets relatifs
[Résolu] GET ok sous Firefox mais pas sous IEJSF:créer dynamiquement des tables sans connaitre leur nombre
ActiveX/ Visual Basic [Résolu][résolu] Image de fond sur lien d'un menu "en ligne" ???
[Pb PHP] Telechargement de gros fichierEcrire un nombre arrondi dans un TextBox Excel
Une fonction peut-elle retourner le numéro de la ligne qui l'appelle ?déplacement fichier
[RESOLU]Passer un paramètre avec des espaces 
Plus de sujets relatifs à : [RESOLU]Compter le nombre de ligne d'un fichier


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR