如何在没有安装语言环境且没有 sudo 的情况下对任意编码的文件使用 grep ?

如何在没有安装语言环境且没有 sudo 的情况下对任意编码的文件使用 grep ?

我的计算机上有 utf-8 语言环境,我想在 KOI8-R 编码的文件中搜索。但我没有安装 KOI8-R 语言环境。而且我没有安装此语言环境的 sudo 权限。

在这种情况下可以用grep搜索吗?我可以做一个解决方法吗?以某种方式将这些编码文件即时转换为 UTF-8?

PS:我已经读过这个问题: 如何使用 grep/ack 处理任意编码的文件?

答案1

只要您正在查找特定字符(即不使用字符集或不区分大小写的搜索),您就可以让 grep 查找字节:将正则表达式中的任何非 ASCII 字符转换为在 KOI8- 中表示它的字节值R,并在 C 语言环境中调用 grep(LC_ALL=C grep …或仅LC_CTYPE=C LC_COLLATE=C grep …)以便搜索字节。

iconv -f utf-8 -t koi8-r即使 KOI8-R 区域设置未locale -a在.

fuseflt方法也依赖 iconv 并且不需要构建语言环境。

相关内容