我有一个使用GBK编码的日志文件,我需要像这样读取数据:
tail -n 2000 nohup.out | iconv -f gbk -t utf-8
但是当我使用 tail -f
命令时,它不会打印任何内容:
tail -f nohup.out | iconv -f gbk -t utf-8
在类似的情况下,我使用一个脚本来读取每一行并进行转换。对于你的情况:
tail -f nohup.out | iconv.sh
这个命令可以实现相同的功能。
#!/bin/bash
#iconv.sh
IFS=''
while read line
do
echo "$line" | iconv -f gbk -t utf-8
done < "${1:-/dev/stdin}"