cygwin 中的 Less 无法读取从重定向的 Windows cmd 脚本创建的文件

cygwin 中的 Less 无法读取从重定向的 Windows cmd 脚本创建的文件

我正在从 Windows 控制台运行 Windows cmd 脚本,并将输出重定向到一个文件,mycommand.cmd > 'filename ' 2>&1问题是,当我尝试在 cygwin 下使用 less 读取该文件时,它说该文件可能是二进制文件,然后无法检测编码。如果我通过 notepad++ 打开它,我可以打开并正确查看文件,它显示该文件具有 USC-2 (BE) 编码。有没有办法让它less理解文件并正确显示它?

答案1

如果预期输出主要是 ASCII,则可以使用以下命令删除 NUL

tr -d '\0'

您可能可以尝试查看是否可以将 $LANG 设置为 UTF-16 语言环境,但我不太确定,而且我手头也没有安装 cygwin 来尝试;否则您可以使用 iconv(1) 进行转换,将 $LANG 设置为某个合理的值(即 utf8 语言环境)并享受。

相关内容