web-dev-qa-db-fra.com

Comment utiliser `cat` pour voir le haut d'un très long fichier?

J'aimerais savoir comment

cat my-verylong-file

et montrez-le du haut au lieu de la fin. Comme le fait la commande man.

16
IDK

Utilisez less, qui affichera le fichier par le haut, ce qui vous permettra de le faire défiler, exactement comme man:

less my-verylong-file
  • Presse q pour sortir.

Si vous souhaitez simplement voir les n premières lignes d'un fichier, head peut être une alternative:

head -n 25 filename

montrera les 25 premières lignes du fichier.

Même chose pour les n dernières lignes d'un fichier avec tail:

tail -n 25 filename
40
vidarlo

man utilise less(1) comme pager par défaut. Utilisez-le au lieu de cat. Voir aussi réponse de @ vidarlo .

Comment personnaliser less pour le rendre encore meilleur:

J'aime bien alias m=less, donc c'est juste une commande d'une seule lettre, parce que je le tape tout le temps. Mettre un |m à la fin de n'importe quoi le transfère dans un pager.

Vous pouvez mettre des options telles que -iMRj5X dans l'alias (par exemple, alias m='less -iMRX), mais je le fais avec mon fichier ~/.lesskey. (Voir lesskey(1) ).

  • -i: les recherches sont sensibles à la casse (sauf si vous utilisez des majuscules)
  • -M: ligne d'état plus longue, indiquant le numéro de la ligne et le pourcentage de fichier
  • -R: permet à certains codes de contrôle de passer afin que vous puissiez diriger des commandes colorisées vers moins.
  • -X: ne basculez pas vers l'écran "alternatif" de l'émulateur de terminal. Par conséquent, tout ce que vous regardiez sera toujours présent lorsque vous aurez quit sur less. (idéal pour les pages de manuel une fois que vous avez trouvé l’option de votre choix et que vous souhaitez la consulter tout en la tapant.)
  • -j5: les recherches placent la ligne cible à la ligne 5 au lieu du haut de l'écran. Vous pouvez ainsi voir le contexte des deux côtés du résultat de votre recherche. (Parfois, je change cela de manière interactive, en tapant -j40 ou quelque chose à l'intérieur de less, s'il est plus utile de voir le contexte avant un résultat de recherche).

Je lie aussi . à next-file et , à prev-file, car les liaisons par défaut sont deux caractères distincts qui sont beaucoup plus lents à taper: :n et :p.


C'est mon .lesskey:

$ cat .lesskey
. next-file
, prev-file
#env
LESS = iMRj5X

Exécutez lesskey pour le "compiler" en un ~/.less.

Cela importait probablement plus il y a 20 ans, mais less lit ce fichier binaire au lieu d'analyser un fichier de configuration de texte à chaque démarrage.

10
Peter Cordes