shell - Libreoffice:通过 shell 将 csv 转换为 ods,反之亦然

标签 shell csv libreoffice utf-16

这是我的问题。一个“.csv”文件,其中分隔符是制表符,内容是“Little-endian UTF-16 Unicode 文本”。如果我尝试在 libreoffice 中使用 gui 打开它,则会成功

enter image description here

如果我尝试通过 shell 使用

unoconv -f ods -e FilterOptions="9,34,UNICODE,1" [FILE]

结果是一个没有分隔的文件。怎么了?

为了将此 ods 文件转换为生成良好的 csv(Unicode UTF8,逗号分隔,ecc),最好的 shell 命令是什么?

最佳答案

这是我的最终解决方案

iconv -f UTF-16 -t UTF-8 /original/folder/file.csv > /tmp/file.csv
unoconv -f ods -i FilterOptions="9,34,UNICODE,1" /tmp/file.csv
unoconv -f csv -o /original/folder/file.csv -i FilterOptions="9,34,UNICODE,1" /tmp/file.ods

关于shell - Libreoffice:通过 shell 将 csv 转换为 ods,反之亦然,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31435612/

相关文章:

javascript - 读取 D3 中的 CSV 并将其转换为数组的数组

macros - 在 LibreOffice 中更改单元格背景颜色

shell - ffmpeg - 元数据中的多行文本(注释标签)

regex - 递归地在目录中按名称查找文件的重复项 - Linux

linux - Bash 脚本无法识别 bool 逻辑, "command not found"

javascript - 在列中包含键的堆积图

linux - Shell 脚本无法识别 heredoc 分隔符

PHP Sql语句从MySQL导出表数据

windows - LibreOffice exe 文件在 windows 中将 word 转换为 pdf

excel - 如何修剪单元格条目末尾的字母/字符