Je veux regarder un fichier qui est écrasé toutes les 5 minutes avec less
. Comment puis-je faire less
suivre le nouveau descripteur de fichier au lieu de conserver l'ancien affiché? watch "cat file"
ne le fera pas car le fichier est trop long pour tenir dans une seule fenêtre de terminal.
9
tail -f
la page de manuel de. Mais néanmoins j'ai clarifié ma question.less --follow-name
voir unix.stackexchange.com/a/74287/112522Réponses:
Vous pouvez obtenir cet effet en exécutant la
F
commande (Shift+F
) tout en affichant le fichier dansless
. Pour arrêter de suivre et revenir à la pagination, appuyez surCtrl+C
Étant donné que votre fichier ne change que toutes les 5 minutes, vous pouvez également utiliser
tail -f
et spécifier une durée de veille plus longue avec-s
(par défaut 1 seconde). Par exemple,vérifie la
myfile
sortie toutes les 60 secondes.EDIT: En raison d'une question trompeuse, la réponse ci-dessus n'était pas satisfaisante. La deuxième tentative suit:
Pour rouvrir le même fichier
less
toutes les 5 minutes, essayez ceci:Cela générera un sous-shell qui met en arrière-plan un autre processus shell chargé de tuer son processus parent après 5 minutes. Ensuite, il ouvre le fichier avec
less
. Lorsque la commande shell en arrière-plan tue le sous-shell parent, elle tue tous ses enfants, y compris la commande «moins». Ensuite, la boucle recommence le processus.Le seul moyen simple que je connaisse pour tuer ceci est de tuer le terminal dans lequel se trouve votre shell d'origine. Si cela est inacceptable, vous pouvez utiliser l'astuce "killfile":
Pour arrêter de faire
stuff
,rm
le killfile dans un autre shell.la source
watch -n 1 less <filename>
Vous pouvez faire quelque chose de similaire dans
vim
.Démarrez une session serveur de
vim
:Ensuite, dans une autre console, surveillez le fichier pour les mises à jour et dites à la session vim de recharger le fichier dès qu'il est mis à jour:
Quelques accrochages.
vim
n'est pas compilé avec laclientserver
fonctionnalité de.inoifywait
cessera de fonctionner lorsque le fichier sera supprimé. J'espère donc que votre fichier sera écrasé. Il est possible de contourner cela aussi, bien sûr.Et si vous souhaitez
less
vivre une expérience plus similaire, vous pouvez utiliser lesless
macros pour obtenir vosless
raccourcis claviervim
.la source
J'ai trouvé un ancien, mais très bon programme "moins" (un "pager"). Il a une commande "R" qui rafraîchit le fichier.
Il s'appelle "lv" , vous pouvez l'installer sur Ubuntu en utilisant:
Cependant, il ne semble pas avoir de fonction de chargement automatique.
la source
Vous pourriez essayer cette commande: fichier tail -f
la source
Tail est votre ami. "tail -f filename" vous montrera de nouvelles lignes quand elles apparaîtront.
Ou si vous recherchez des modifications apportées au milieu du fichier, vous pouvez peut-être exécuter un script toutes les quelques minutes pour faire une copie du fichier vers un emplacement temporaire et faire une différence dessus?
la source
tail -f
continuerait de lire l'ancien.