J'aime la watch
commande, mais elle a ses limites .
Je suis curieux de savoir si je pourrais imiter la fonctionnalité de watch
avec less
. Je recherche principalement la possibilité de faire défiler mon répertoire car il est modifié dynamiquement via un script en cours d'exécution.
tail -f foo.log | grep bar
et je suis en mesure de modifier dynamiquement la commande grep en redémarrant le pipeline tail / grep.Réponses:
Dans
less
, vous pouvez taperF
pour continuer à lire à la fin d'un fichier (commetail -f
); vous pouvez taper:e
un nom de fichier pour afficher un fichier différent, mais malheureusement, si vous entrez le nom du fichier actuel, le fichierless
ne sera pas rechargé. Cependant, il existe un truc pour le faire relire le fichier actuel, suggéré par sabgenton : tapez:e
et entrez le nom d'un fichier inexistant ; cela fait moins pour afficher un message d'erreur et ensuite recharger le fichier en cours.Si vous cherchez une alternative à
watch ls
, voici quelques exemples:auto-revert-mode
, il rechargera le fichier ou le répertoire toutes les 5 secondes (le délai est configurable).R
pour recharger l'URL (locale).la source
less +F
surveillez uniquement le contenu ajouté. Utilisez:e nonexistentfile
pour relire une entrée complètement modifiée.R
le fichier n'est pas actualisé de manière fiable. Il rafraîchit l'écran et efface certains tampons d'entrée, mais il ne recharge pas les données du fichier dans toutes les circonstances (uniquement si le fichier est volumineux? Je n'ai pas approfondi le code).Shift+Ffera
less
semblable àtailf
. Autrement dit, il est actualisé si davantage de données sont ajoutées au fichier.la source
less
les modifications ne seront pas affichées.$COMMAND | less
. Je me demande s'il y a un bon moyen de contourner cela? Vous pouvez faire des choses comme$COMMAND > /tmp/file & less /tmp/file
mais ce n'est pas très gentil.Tapez simplement:
Cela émule en appuyant sur "F" dans l'éditeur.
la source
alias check="less +F"
à mon.bashrc
.man
les pages peuvent être très informatives. Ne soyez pas intimidé par eux. Parmi tout le reste,man less
vous pouvez utiliser laR
commande pour:(Je me rends compte que cette question a plus de 6 ans, mais elle est abordée dans les recherches sur Google. Je ne suis donc pas le seul à avoir cliqué sur le lien pour accéder à cette page.)
la source
less
n'ai pas rouvert le fichier en utilisant son nom de fichier - c'est-à-dire que lorsque l'inode du fichier a changé (comme lors de l'écrasement du fichier avecmv
), l'ancien contenu du fichier est resté (probablement l'ancien inode a été relu) - - 2. La première ligne affichée commence probablement avec le même décalage d'octet que dans le contenu du fichier d'origine. Ainsi, lorsque les longueurs de ligne changent, la première ligne affichée peut être incomplète et les lignes affichées peuvent être déplacées vers le haut ou le bas.R
ne fonctionne pas toujours. Voir unix.stackexchange.com/questions/4351/…La touche "F" lors de l'exécution
less
fera un "suivi" similaire àtail -f
, mais je ne sais pas si cela permettra d'atteindre ce que vous recherchez ici.la source
Normalement, je tape simplement Gpour aligner la sortie sur une base ponctuelle. Je trouve cela particulièrement utile sur un système de fichiers réseau tel que CIFS.
la source
man less
: 'G ou> ou ESC-> Aller à la ligne N dans le fichier, par défaut la fin du fichier.' Je supprime mes vieux commentaires erronés ici, désolé pour eux.less
, Mark Nudelman, a répondu ce qui suit: "La commande G ne force normalement pas une relecture du fichier comme le fait la commande R. Cela peut sembler le cas si la fin du fichier n’a pas encore été lue lorsque G est appelé, de sorte que tout saut à la fin du fichier doit lire les données à cet endroit pour la première fois. Par exemple, si vous passez à la fin avec G, puis revenez au début avec 1G, un autre programme modifie les données à la fin du fichier (sans changer la longueur), "(suite)Vous pouvez utiliser vim pour lire le fichier, puis ajouter le mappage suivant à votre
.vimrc
fichier et vous pouvez facilement recharger un fichier avec ,r:Notez que si vous avez déjà modifié le fichier, vim se plaindra. Il suffit de changer pour
Ignorer les changements.
la source
vim
sur vos mains froides et mortes. Le contexte de la question porte surless
, mais en tant que personne aux tendances monomaniaques , je compatis!R
car repeindre ne recharge pas toujours le fichier. [1]Une solution de contournement qui recharge toujours le fichier est d'appuyer sur
hq
, ce qui ouvrira la page d'aide, puis quittera. Cela a pour effet secondaire de forcer le fichier à recharger.[1] Voici quelques exemples de situations qui
R
rechargent et ne rechargent pas:>
et>>
changements: NE PAS se rechargersed -i
, gEdit, TextEdit: ne soyez pas rechargévi
changements: NE PAS rechargervi
modifications: NE PAS faire rechargerJe crois que la différence réside dans le fait que l'inode change (vous pouvez vérifier avec
ls -i foo.txt
). Si l'inode change,R
cela ne fonctionnera pas.la source
Vous pouvez diriger le message vers
tail -f
, cela vous obligerait à suivre la sortie. Vous perdriez cependant la possibilité de vous déplacer (faire défiler) votre sortie.la source
Si vous n'êtes pas opposé à l'utilisation d'un navigateur, vous pouvez lancer le serveur Web Algernon avec cette commande:
Une liste de fichiers sera ensuite affichée et actualisée automatiquement à l' adresse http: // localhost: 3000 /.
la source
less
Je viens de trouver ce fil comme n'importe qui. Je voudrais ajouter la solution de quand vous êtes déjà à la fin du fichier, en utilisant 'g' suivi de 'G' forcera un rafraîchissement du fichier.
J'ai fini par créer un bouton de macro pour cela dans mon programme de terminal (SecureCRT). La macro est simplement 'gG'.
la source