当我使用时:
msgattrib --untranslated pl.po
要查看 po 文件中未翻译的字符串,我有彩色字符串,但当我使用时却没有:
msgattrib --untranslated pl.po | less
答案1
msgattrib
仅当从真实终端执行时才显示颜色。您可以使用unbuffer
命令的一部分expect
来认为msgattrib
它是从真实终端执行的,然后使用-r
选项来处理 ANSI 转义less
:
unbuffer msgattrib --untranslated pl.po | less -r
您可以在任何基于 tty 的存在生成颜色(ANSI 转义代码)的命令中执行此操作。
答案2
来自 less 手册页:
-R or --RAW-CONTROL-CHARS
Like -r, but only ANSI "color" escape sequences are output in "raw" form. Unlike -r, the screen appearance is maintained correctly in most cases.
始终启用此功能的最简单方法是LESS
在您的脚本中设置环境.profile
变量.login
。我同时使用-R
和-X
(这可以防止当 less 退出时屏幕被清除)。
答案3
要用颜色显示 less:less -R <text-file>
或者将 less 配置为别名,就像alias less='less -R'
在~/.bashrc