在Windows上突出显示或加底线输出到stdout

时间:2018-09-27 05:03:46

标签: windows powershell perl cmd

背景

我需要将Perl脚本从Linux移植到Windows。脚本输出到标准输出,并根据需要突出显示和强调下划线。在Linux中,可以通过用tput的系统调用将单词包围起来来实现:

tput smsotput rmso突出显示

tput smultput rmul用于强调

问题

Windows上是否有任何系统调用可以轻松完成此功能?如果不是,是否有人知道可以实现类似结果的解决方法?

1 个答案:

答案 0 :(得分:5)

如果您使用Perl输出内容,则至少Win32::Console可以在Windows(10或更高版本)上进行下划线:

interval(5000)
.switchMap(() => this.youApiService.anyMethod())
.subscribe(res => console.log(res));

但是,如果您只是在寻找真正快速的移植修补程序,Win32::Console::ANSI将会“神奇地”将输出中的所有ANSI序列转换为适当的控制台调用。