Controler le nombre de lignes à afficher à partir d'un fichier

bloomingdals Messages postés 87 Statut Membre -  
bloomingdals Messages postés 87 Statut Membre -
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
A voir également:

5 réponses

Flachy Joe Messages postés 2303 Statut Membre 261
 
Salut,
utilise tail à la place de head...

Bonne continuation !
0
bloomingdals Messages postés 87 Statut Membre 2
 
non c'est pas ce que je veux faire mais merci quand même
0
GMV Messages postés 68 Statut Membre
 
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)
0
dubcek Messages postés 19021 Statut Contributeur 5 637
 
hello
essayer
awk -v n=$N 'NR >= n && NR < n+1000' fichier
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bloomingdals Messages postés 87 Statut Membre 2
 
je vais essayer ceci et je te tiendrai informé
0