Comment puis-je conserver la sortie colorée lorsque je passe à less de «R»?

$ ffmpeg -v debug ... 

Sortie colorée.

 $ ffmpeg -v debug ... |& less -R 

Sortie terne.

Comment est-ce que je rends la sortie colorée tout en la raccordant à quelque chose?

Pour les commands qui n'ont pas une option similaire à --color=always , vous pouvez faire, par exemple avec votre exemple:

 script -c "ffmpeg -v debug ..." /dev/null < /dev/null |& less -R 

Ce script est qu'il exécute la command dans une session de terminal.

EDIT: Au lieu d'une string de command, si vous voulez être en mesure de fournir un tableau, alors le script wrapper zsh suivant semble fonctionner:

 #!/usr/bin/env zsh script -c "${${@:q}}" /dev/null < /dev/null |& less -R 

Comme alternative au script , qui attend une command line sous la forme d'une string au lieu d'un tableau normal, il existe un mode spécial de reptyr :

 reptyr -L ffmpeg -v debug ... < /dev/null |& less -R 

Notez que toutes les versions de reptyr ne fonctionnent pas avec l'option -L et acceptent gracieusement < /dev/null . Voir ma request de pull pour cela.