linux - tr 改变文件编码?

标签 linux bash tr

我有一个包含名称列表的 UTF-8 编码文本文件。我正在尝试为辅音和元音制作单独的文件,我使用简单的 tr -d list-of-vowels 进行管理,但由于某种原因,生成的文件用 xA7 替换了 ç 并且它进一步得到当我通过 sed 脚本运行文件时被 § 替换(并且在这个过程中弄乱了脚本因此出现了问题)。文件中的所有标志(为了便于分析,我已经全部转为小写):
bcdfghjklmnpqrstvwxzçðñ àáâãæèéêëìíîïòóôõøúüýaeiouyäåö '*,-./`#

出于某种原因,只有 ç 会导致问题。 sed 我用来按年份计算文件中每个字符的数量的是 sed -E -e 's/"([^"]*)","([ ^"]*)",.*/\L\2,\1/' -e 's/^([^,]+),(.)(.+)$/\1,\2\n\1,\3/; ; D' 但我不认为它应该有问题。

正在处理的文件是格式为 .csv 的文件:

"hanna","1919","2"  
"hanna","1919","2"  
"heidi","1919","2"  
"heidi","1919","2"  
"anja","1938","2"  
"anja","1938","2"  
"eila","1947","2"  
"eila","1947","2"  

先按年份排序,再按字母顺序排序。

关于为什么 tr 这样做以及如何让它停止的任何线索?我什至尝试运行 sed -i "s/\ァ/\ç/g" 但实际上什么也没做。然而,例如。 cat 解析有问题的字符。

最佳答案

来自 GNU coreutils (8.29) 的 tr 的当前版本不支持 UTF-8。

一个bug report建议这是版本 9 的路线图。

同时,使用sed

关于linux - tr 改变文件编码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49181977/

相关文章:

linux - 无滴答内核、isolcpus、nohz_full 和 rcu_nocbs

linux - 自定义 SPI 驱动程序来实现 lseek

bash - 如果失败,在 Bash 中执行一行而不中止?

linux - linux shell tr​​命令错误

linux - 从文件的第二列中删除特殊字符

linux - 删除空格时展开段落

linux - 无法打开流 : Too many open files

php - 软呢帽 PHP "failed to open stream: Permission denied"

linux - 更改查找命令的输出

linux - bash 脚本来创建和 cd 到名称中有空格的目录