Controler le nombre de lignes à afficher à partir d'un fichier [Fermé]

Signaler
Messages postés
74
Date d'inscription
mercredi 20 février 2013
Statut
Membre
Dernière intervention
6 août 2013
-
bloomingdals
Messages postés
74
Date d'inscription
mercredi 20 février 2013
Statut
Membre
Dernière intervention
6 août 2013
-
Bonsoir,

j'ai un fichier texte dont la taille est entrain d'augmenter (par un autre processus shell).
je veux, a chaque fois que 1000 nouvelles lignes sont ajoutées à ce fichier, lire ces dernières.

j'utilise cette commande shell
head -n N fichier où N designe le nombre de lignes déja lues dans l'itération précédente (je précise que N est mise à jour par un code java donc pas de probleme ici).
le probleme est que cette commande me renvoie a chaque fois tout le fichier a part les N lignes déja lues alors que moi je veux lire 1000 autres lignes à partir de la position N+1
que dois je ajouter à cette commande pour que ca soit faisable

merci

6 réponses

Messages postés
2120
Date d'inscription
jeudi 16 septembre 2004
Statut
Membre
Dernière intervention
4 novembre 2019
219
Salut,
utilise tail à la place de head...

Bonne continuation !
Messages postés
74
Date d'inscription
mercredi 20 février 2013
Statut
Membre
Dernière intervention
6 août 2013
1
non c'est pas ce que je veux faire mais merci quand même
Messages postés
68
Date d'inscription
samedi 6 août 2011
Statut
Membre
Dernière intervention
2 novembre 2013

Je ne comprends pas tout, donc en premier je dirai comme Flachy Joe, utilise tail pour lire les 1000 dernières lignes :
cat fichier |tail -1000  


sinon, tu peux aussi faire de meme avec le résultat de ton head :
head -n N fichier |tail -1000  


mais je viens de relire et je crois comprendre que tu cherches à lire ton fichier de la ligne N+1 àla ligne N+1+1000, c'est ca ? si oui, il faut d'abord les N+1+1000 premières lignes, et on prend les dernières :
head -n N+1001 fichier |tail -1000 

=>1000= (N+1+1000) - (N+1)
Messages postés
17964
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 décembre 2019
4529
hello
essayer
awk -v n=$N 'NR >= n && NR < n+1000' fichier
Messages postés
74
Date d'inscription
mercredi 20 février 2013
Statut
Membre
Dernière intervention
6 août 2013
1
je vais essayer ceci et je te tiendrai informé