Question pour un champion

mikbrank -  
bacchuss Messages postés 1165 Statut Membre -
bonjour.
je veux en une seule et seulement une commande afficher a l ecran
les 10 premieres lignes et les 10 dernieres d un texte.
J ai en deux lignes / head -10; tail -10.

5 réponses

gregregre
 
en plusieurs commande effectivement

head -10 toto | tail -10

ca fait 1 ligne mais pas 1 commande (2 processus à la suite)

je pense pas que ce soit possible en fait en une seule commande
même cut je crois pas que ça puisse le faire....

par contre si tu connais à l'avance le nombre total de ligne là oui c'est faisable en utilisant vi (par exemple pour un fichier de 90 lignes)

vi -c "11,80 d|:wq" toto

gardera dans le fichier toto que ces 10premieres et 10dernieres lignes soit 20lignes
0
kmf31 Messages postés 1564 Statut Contributeur 501
 
head -10 toto | tail -10

Ce n'est pas correct: Ca prend les 10er lignes de toto et apres le tail prend les 10 derniers lignes de ca mais pas de toto!! Bref le "tail -10" ne change rien de tout.
0
kmf31 Messages postés 1564 Statut Contributeur 501
 
Tu peus tout betement tapper ca en une ligne:
head -10  fichier ; tail -10 fichier

(on peut enchainer de commandes avec ";").
Sinon tu fais un programe C toi meme (une tres jolie exo TD !) qui ferait ca.
0
chris
 
f - le fichier avec au moins 20 lignes
g - le fichier résultat
(head -10 f;tail -10 f) >g
0
bacchuss Messages postés 1165 Statut Membre 190
 
et en prenant le probleme a l'envers, c'est a dire tout afficher sauf les lignes dont le numero est superieur a 10 et inferieur a (nb lignes -10)

ca doit etre plus possible, non ?
0
kmf31 Messages postés 1564 Statut Contributeur 501
 
C'est trivial si tu connais le nombre de lignes dans le fichier:
tail <nombre_lignes-10> fichier | head <nombre_lignes-20> 

apres on peut essayer de faire un script en utilisant: "wc -l" pour compter les lignes, par exempe:

NB_LIGNES=`wc -l`


En principe on peut combiner ca mais il faut faire attention pour les details avec la shell, ... (je n'ai pas envie pour ca, tu trouveras bien).

Il faudrait aussi faire un truc pour dire quand le fichier a moins de 20 lignes.
0

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

Posez votre question
bacchuss Messages postés 1165 Statut Membre 190
 
head -10 fic && tail -10 fic
0