我有一个csv文件,里面混杂着CRLF和LF。有些地方出现了LF,实际上这些内容应该属于前一行。
例如:
smith;pete;he is very nice;1990CRLF
brown;mark;he is very nice;2010CRLF
taylor;sam;he isLF
very nice;2009CRLF
在我的脚本中,我想要删除所有单独的LF实例。我尝试使用sed:
sed -e ':a' -e 'N' -e '$!ba' -e 's/\n/ /g' $my_file
这种解决方案的问题在于,属于CRLF的LF也会被替换为空格字符。
sed ':a;N;$!ba;s/\r\n/<<<CRLF>>>/g;s/\n/ /g;s/<<<CRLF>>>/\r\n/g;' my_file
命令,但只有在文件不太大的情况下才能使用。 - Wiktor Stribiżew