Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何删除csv文件列之间的换行符_Csv_File_Unix - Fatal编程技术网

如何删除csv文件列之间的换行符

如何删除csv文件列之间的换行符,csv,file,unix,Csv,File,Unix,下面是csv文件,其中一行之间有换行符 “-658924041”,“08/06/2020 11:46:06”,“kjljjlkjjl”,“3”,“EF1B09C”,“DD3582AF” “-658924042”,“08/06/2020 11:46:06”,“kjljjlkjjl”,“3”,“EF1B09C “,“DD3582AF” “-658924043”,“08/06/2020 11:46:06”,“kjljjlkjjl”,“3”,“EF1B09C”,“DD3582AF” “-65892404

下面是csv文件,其中一行之间有换行符

“-658924041”,“08/06/2020 11:46:06”,“kjljjlkjjl”,“3”,“EF1B09C”,“DD3582AF” “-658924042”,“08/06/2020 11:46:06”,“kjljjlkjjl”,“3”,“EF1B09C
“,“DD3582AF”
“-658924043”,“08/06/2020 11:46:06”,“kjljjlkjjl”,“3”,“EF1B09C”,“DD3582AF” “-658924044”,“08/06/2020 11:46:06”,“kjljjlkjjl”,“3”,“EF1B09C”,“DD3582AF”

第二行得到换行符,但需要如下输出

“-658924041”,“08/06/2020 11:46:06”,“kjljjlkjjl”,“3”,“EF1B09a”,“DD3582AF” “-658924042”,“08/06/2020 11:46:06”,“kjljjlkjjl”,“3”,“EF1B09b”,“DD3582AF” “-658924043”,“08/06/2020 11:46:06”,“kjljjlkjjl”,“3”,“EF1B09C”,“DD3582AF” “-658924044”,“08/06/2020 11:46:06”,“kjljjlkjjl”,“3”,“EF1B09d”,“DD3582AF”

我使用了sed命令,如下sed-e“s/\r//g”,但它并没有替换换行符

换行符应该是
\n
,但模式空间首先不包含该字符

我们可以做的是,对于没有以
结尾的行(可能还有您示例中的空格),让
sed
将下一行附加到模式空间,然后删除嵌入的换行符:

sed '/" *$/b;N;s/\n//' file_name

您尝试使用哪种语言/softare/tool/library对其进行解析。因为换行符是双引号(“”),大多数csv库都可以处理它(通常称为文本分隔符),所以我尝试使用oracle外部表(slqloader)加载此文件,它使用Unix在窗口中具有CRLF,其句柄类似于fileText.Replace(“\r\n”,“”).Split('\n');)使用sed-e“s/\r//g”,但luckI对windows文件文本没有厌倦。替换但DOS或Powershell发现它是一个有效的命令。您尝试使用哪种语言执行此操作,在哪种unix平台上,有哪些shell可用?its/bin/bash和x86_64 x86_64 x86_64 GNU/Linux