我在 CSV 文件中有未加引号的换行符 LF,我想将其加载到数据库,从而导致错误。我可以使用 sed 或 Linux 中可用的其他工具来删除此换行符吗?
CSV 文件的实际行结尾是 CRLF,如使用 Notepad++ pilcrow 观察到的。
答案1
对于awk
支持RS
单字符以外的值的实现(例如 GNU )awk
,您可以执行以下操作:
awk 'BEGIN{RS = ORS = "\r\n"}
{gsub("\n", ""); print}' < in.csv > out.csv
和sed
:
CR=$(printf '\r')
sed -e :1 -e '$q' -e "/$CR\$/b" -e 'N;s/\n//;b1' < in.csv > out.csv