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

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  [shell] lire un fichier mais pas la première ni dernière ligne

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[shell] lire un fichier mais pas la première ni dernière ligne

n°1718353
dams78
développateur
Posté le 16-04-2008 à 10:47:21  profilanswer
 

bonjour,
comme c'est dit dans le sujet, j'ai un fichier (trés trés long) que je dois parcourir pour traiter les lignes,
seulement je ne dois pas traiter ni la première ni la dernière ligne
j'avais pensé faire un tail avec en paramètre le nombre de lignes moins une, mais du coup j'ai toujours la dernière ligne.
 
je voudrai aussi que cette commande soit la plus optimisée possible, du coup est ce qu'il vaut mieux s'embêter à compter le nombre de ligne et parcourir le fichier sauf la première et la dernière, ou alors parcourir tout le fichier avec un simple cat, et faire un test à chaque fois (car la premiere et derniere ligne ont leur 4 premiers caractères remarquable)
 
merci de votre aide


Message édité par dams78 le 16-04-2008 à 10:47:42

---------------
dam's (debianer), ma galerie Flickr
mood
Publicité
Posté le 16-04-2008 à 10:47:21  profilanswer
 

n°1718654
mic_12
Posté le 16-04-2008 à 16:10:58  profilanswer
 

g trouvé ca par contre il te colle le numéro de la ligne au début du résultat :sweat:

 
Citation :

awk 'END {print NR}' nom_fichier

pour trouver le nombre de lignes

Citation :

awk 'NR==2, NR==nb_ligne -1 {print NR $0}' nom_fichier

pour afficher le contenu des lignes que tu parcours (de la deuxième à l'avant dernière)


Message édité par mic_12 le 16-04-2008 à 16:11:18
n°1718773
aigles
Posté le 16-04-2008 à 19:25:59  profilanswer
 

Une solution avec sed :

sed '1d;$d' fichier


 
Jean-Pierre.

n°1718929
dams78
développateur
Posté le 17-04-2008 à 08:33:51  profilanswer
 

impecable ça marche,
je suspose que d est le numéro de la ligne?
donc la dis tu dis à sed de ne pas lire la 1ere ligne 1d, ni la dernière $d ?
 
merci


---------------
dam's (debianer), ma galerie Flickr
n°1719248
aigles
Posté le 17-04-2008 à 15:20:22  profilanswer
 

dams78 a écrit :

impecable ça marche,
je suspose que d est le numéro de la ligne?
donc la dis tu dis à sed de ne pas lire la 1ere ligne 1d, ni la dernière $d ?
 
merci

Cela indique à sed de supprimer (d) la première (1) et la derniére ($) ligne.
 
Jean-Pierre.


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

  [shell] lire un fichier mais pas la première ni dernière ligne

 

Sujets relatifs
Commande Shell et phpRESOLU PHP lecteur mp3 / lire mp3 a partir d'un dossier
supprimer un fichier .txtcréation fichier batch
[RESOLU]Excel : Numéro de ligne rempliesuppression de ligne
Tester si un fichier est déjà ouvert par un programme tiersMise en forme d'un fichier xls compliquée
Lecture / écriture fichier *.ini en Coutils pour fichier de configuration
Plus de sujets relatifs à : [shell] lire un fichier mais pas la première ni dernière ligne


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