我使用vsql
将vertica表加载到csv文件中:
vsql -c "select * from ..." ... -o file.csv
当我在输出文件的末尾看到类似Windows的CRLF符号时,我感到很惊讶。它与记录或字段分隔符不匹配,因为我使用其他符号。
有没有办法改变vsql的行为?在理想情况下,我希望文件以最后一列的最后一个值结束,最后没有任何CR或LF符号。
NB 问题是关于设置vsql,而不使用其他程序从输出中删除符号。
答案 0 :(得分:1)
如果要使用面向行的工具,则需要解析最后一行。 使用
删除最后一行的\r
字符
sed '$ s/^$//' file.csv > newfile.csv
问题是你没有看到新行字符的换行符。答案是用另一个不属于普通数据的字符替换它。
tr '\n' '\001' < file.csv | sed 's/..$//' | tr '\001' '\n'