tail -f 输出非utf-8文件

2023-11-10 09:20:39 浏览数 (2)

代码语言:javascript复制
tail -f <日志文件>

默认是按照utf-8格式输出的,日志文件不是这个格式(例如GB2312)就麻瓜了,会输出乱码。

代码语言:javascript复制
iconv -f GB2312 -t UTF-8

能进行格式转换,但是iconv只能进行块转换,或者输出到文件。 那么怎么将非utf-8的日志文件流式输出呢。 先用这个脚本:

代码语言:javascript复制
#!/bin/bash

while read -r line; do
    echo "$line" | iconv -f GB2312 -t UTF-8
done

在用它输出

代码语言:javascript复制
tail -f <日志文件> | ./convert.sh 

0 人点赞