带有UTF8输入的Sed

时间:2014-03-26 16:59:53

标签: bash utf-8 sed

我需要帮助我的工作到学校。 我有(当然是来自stackoverflow)这个大写字符串的第一个字符的脚本。

sed -r "s/(^|\.\s+)./\U&/g" <$temp_file_2

但是输出的是ANSI编码或者那是什么。 file -bi显示未知的8位编码格式。

将utf-8输出到文件是否有任何变化?

P.S。:此sed命令用于大写第一行的字符。 (支持特殊的斯洛伐克人物,如ščťžýáíéď等) P.S:文件必须是UTF-8,因为内容被插入到mysql数据库中。 转换文件导致丢失信息。

1 个答案:

答案 0 :(得分:0)

试试这个

  cat <src> | iconv -f <srcenc> | sed .... | iconv -t <targetenc> > target

要查看编码列表:

  iconv -l

要查看您是否正确选择了输入文件的编码,请检查

cat <src> | iconv -f <srcenc>