我正在尝试使用soffice将目录中的xls文件转换为csv格式。
soffice --headless --convert-to csv *
它给出了逗号分隔的版本(显然)。现在我想要得到分号分隔的csv文件。我考虑使用vim命令将逗号替换为分号。
:%s/,/;/g
但这是不正确的,因为它替换了原始内容中故意保留的逗号。转换xls到csv时必须使用分隔符。
如何使用soffice命令行获取分号分隔的csv?
最终我得到了答案。添加output_filter_options就像魔法一样奏效。
--convert-to output_file_extension[:output_filter_name[:output_filter_options]] [--outdir output_dir] files
soffice --headless --convert-to csv:"Text - txt - csv (StarCalc)":59,34,0,1,1 *.xls
soffice --convert-to csv:"Text - txt - csv (StarCalc)":59,34,0,1,1 -outdir /some/path *
。 - lcd04744
是逗号的(十进制)ASCII码,而上面的59
是分号的ASCII码。 - lcd047