Est-il possible de supprimer les séquences ESC dans le fichier de sortie de GNU Screen? Des éléments tels que les couleurs, les tabulations et autres caractères d'échappement pénètrent dans les fichiers journaux et deviennent difficiles à déchiffrer.
J'ai essayé le Dr Google & Co. ainsi que la lecture du manuel, mais je n'ai rien trouvé de convenable ...
J'ai peut-être oublié quelque chose?
linux
terminal
gnu-screen
shaond
la source
la source
Utilisez ansifilter.
la source
brew install ansifilter
et cela a fonctionné comme un charme.Essayez également l'option -r ou -R de less.
la source
Une fois que vous avez capturé votre session dans screenlog.n, vous pouvez envoyer le fichier au terminal, puis utiliser la commande de copie d'écran de l'écran pour vider la sortie du chat dans un fichier. Le résultat vous fournira une sortie propre qui n'a aucune séquence d'échappement.
Le seul «problème» semble être de s'assurer que la copie papier capture tout dans le tampon de défilement et que le tampon de défilement ne contient que ce que vous voulez capturer.
Notez que -h garantit que vous capturez l'intégralité de l'historique de défilement et pas seulement ce qui est en vue immédiate
Le fichier screenlog.n.cleaned contiendra désormais une copie papier de la sortie cat et n'inclura aucune séquence d'échappement
la source
wc -l
n'a pas fonctionné pour moi. Il a renvoyé 28226, mais avait vraiment besoin de 33031 dans mon cas.J'utilise la
strings
commande pour rendre un journal d'écran lisible. Sous Debian, il fait partie du paquet binutils.Comme le dit sa page de manuel:
la source
Si vous êtes un
screen
utilisateur, la solution de copie d'écran proposée par Joel Verks fonctionnera mieux - en supposant que vous ayez un grand défilement défini dans votre.screenrc
:alors vous feriez:
Affichez votre
screenlog
fichier:Utilisez
hardcopy -h
(voir la page de manuel de l'écran) pour enregistrer le contenu de la fenêtre actuelle et son tampon de défilement dans lehardcopy.#
fichier:la source