Ce n'est pas vraiment tail
le comportement de -- c'est le terminal. Tail envoie simplement un flux de sortie à stdout, qui va à votre terminal, et vous insérez des lignes vides au milieu de cette sortie en appuyant sur Entrée. Tail lui-même n'accepte pas du tout vos commentaires. Vous pouvez taper tout ce que vous voulez et cela s'affichera également.
less
, cependant, est une application de console, et elle prend une entrée et la traite. Il gère la console à l'aide de séquences de contrôle de terminal, c'est ainsi que vous pouvez faire défiler. Vous laisser insérer des caractères arbitraires dans le flux gâcherait l'affichage et utiliserait de toute façon moins votre entrée pour contrôler le programme.
Malheureusement, il ne semble pas avoir de moyen de marquer visuellement la position actuelle. Ce n'est pas une demande de fonctionnalité terrible, cependant, et moins le fait obtenez toujours de nouvelles fonctionnalités de temps en temps.
J'ai trouvé votre question en cherchant moi-même la même réponse.
Déçu par la réponse acceptée, j'ai trouvé une solution de contournement. C'est loin d'être idéal, mais cela me permet de marquer ma position dans le journal que je suis avec less
, c'est tout l'intérêt.
J'ai créé un petit script exécutable (je l'ai appelé marklog
) avec le contenu suivant, et placez-le dans mon chemin :
#!/bin/sh
echo >> $1
echo >> $1
echo >> $1
echo `date` ---------------------------------------------------------------------- >> $1
echo >> $1
echo >> $1
Bien sûr, cela ne fonctionne que si vous avez un accès en écriture au fichier journal, ce qui pourrait être un facteur décisif dans de nombreuses situations. J'ai également créé cette version que j'utilise pour écrire dans des fichiers journaux que je ne possède pas (mais auxquels j'ai un accès sudo) :
#!/bin/sh
sudo sh -c "echo >> $1"
sudo sh -c "echo >> $1"
sudo sh -c "echo >> $1"
sudo sh -c "echo `date` ------------------------------------------------------------------------- >> $1"
sudo sh -c "echo >> $1"
sudo sh -c "echo >> $1"
Ces scripts fournissent exactement le genre de pause visuelle que je recherchais. Il existe au moins 3 façons de les utiliser :
-
Au point où vous auriez normalement appuyé plusieurs fois sur Entrée lors de l'utilisation de
tail -f
, exécutez plutôtmarklog
depuis un autre terminal (en fournissant le chemin vers le fichier journal en argument). -
Utilisez Ctrl Z suspendre
less
vous pouvez donc exécuter le script dans la même fenêtre de terminal, mais lorsque vous remettez en avantless
(en utilisantfg
, bien sûr), il ne sera plus en mode "suivre", vous devrez donc appuyer sur Maj F encore... -
Enfin, et cela pourrait être le moyen le plus pratique, car vous n'avez pas besoin de saisir le chemin d'accès au fichier journal :exécutez
marklog
directement depuisless
en tapant!marklog %
.Less
remplacera le nom de fichier actuel par%
. Cependant,less
ne répondra pas au ! pendant qu'il est en mode "suivre", vous devrez donc appuyer sur Ctrl C premier à quitter le mode suivi, exécutez!marklog %
, puis Maj F à nouveau.
Avec la méthode 3, vous obtenez également le bonus supplémentaire de l'historique des commandes de Less :appuyez simplement sur le !
puis utilisez la flèche vers le haut pour sélectionner la commande la plus récente (pour moi, c'est toujours marklog
).
J'espère que cela aidera quelqu'un autant que cela m'a déjà aidé.