Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在使用vsql将 vertica 表加载到 csv 文件中:
vsql
vsql -c "select * from ..." ... -o file.csv
当我在输出文件的末尾看到类似 Windows 的 CRLF 符号时,我感到很惊讶。它与记录或字段分隔符不匹配,因为我使用了其他符号。
有没有办法改变 vsql 的行为?在理想情况下,我希望文件以最后一列的最后一个值结尾,最后没有任何 CR 或 LF 符号。
注意问题是关于设置 vsql,而不使用其他程序从输出中删除符号。
当您想使用面向行的工具时,您需要解析最后一行。可以使用删除\r最后一行的字符
\r
sed '$ s/^$//' file.csv > newfile.csv
问题是您看不到换行符的换行符。答案是用另一个不属于您的正常数据的字符替换它。
tr '\n' '\001' < file.csv | sed 's/..$//' | tr '\001' '\n'