encoding - 如何通过管道 tail -f 到 iconv 命令?

标签 encoding pipe tail iconv

我有一个使用 gbk 编码的日志文件,我必须像这样读取数据:

tail -n 2000 nohup.out | iconv -f gbk -t utf-8

但是当我使用 tail -f 时,它不会打印任何内容:

tail -f nohup.out | iconv -f gbk -t utf-8

最佳答案

在类似的情况下,我使用一个脚本来读取每一行并进行转换。在你的情况下: 尾部 -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}"

关于encoding - 如何通过管道 tail -f 到 iconv 命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50231194/

相关文章:

C# 转换 Unicode 字符

python - 具有列表理解的 Python 游程编码

C - 父进程无限期地等待运行 authopen 的 fork 子进程

linux - 如何退出 tail --follow on ERROR 或 FATAL 日志级别

bash - 为什么 bash 仅通过更改解析器的调用方式来表现不同?

awk - 如何将 tail -f 通过管道传输到 awk 中

html - libxml2 -> HTMLparser.h -> htmlReadMemory 中编码的可能值是什么

Java + MySQL -PreparedStatement 编码遇到问题

scheme - Racket 中的管道

c - 管道和流程管理