У меня есть файл журнала с кодировкой gbk, я должен прочитать данные следующим образом:
tail -n 2000 nohup.out | iconv -f gbk -t utf-8
но когда я использую tail -f, он ничего не напечатает:
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}"