Unix 删除列中的回车符

Unix 删除列中的回车符,unix,carriage-return,Unix,Carriage Return,我在Unix中有一个文件,该文件在特定字段中显示了一个额外的回车字符,我想将其删除 我尝试打印字段中字符的ASCII值,结果显示如下: 头部-1 BVP.csv |切割-d”,“-f26 | tr-d”\n | od-An-t dC 34 78 13 字段中的实际值为:“N[回车] 因此,我尝试删除回车符(ASCII值:13),如下所示,并尝试将输出打印到一个新文件BVP1.csv: tr-d'\r'BVP1.csv 然后我执行了同样的命令 头部-1 BVP1.csv切割-d“,“-f26”tr

我在Unix中有一个文件,该文件在特定字段中显示了一个额外的回车字符,我想将其删除

我尝试打印字段中字符的ASCII值,结果显示如下:

头部-1 BVP.csv |切割-d”,“-f26 | tr-d”\n | od-An-t dC 34 78 13

字段中的实际值为:“N[回车]

因此,我尝试删除回车符(ASCII值:13),如下所示,并尝试将输出打印到一个新文件BVP1.csv:

tr-d'\r'BVP1.csv

然后我执行了同样的命令

头部-1 BVP1.csv切割-d“,“-f26”tr-d“\n”od-An-t dC

34 78

它打印ASCII值而不返回回车符

但是,当我在任何文本编辑器中甚至从Windows打开该文件时,我可以看到该行在文件中打断成一条新记录,即,附加的换行符没有被删除

任何人都可以建议一种方法来删除该字段中出现的附加回车

提前感谢,,
Tom

我敢打赌
CR
(ASCII 13)后面有一个
LF
(ASCII 10)字符您正在尝试删除。您没有看到它是因为您的
tr-d'\n'
。我敢打赌您需要从BVP.csv的字段26中删除
CR
LF
。但是,您只想删除在
CR
之后出现的
LF

您可以尝试使用这个简单的perl方法从csv文件中删除所有的
CR+LF
组合,同时保持裸露的
LF
不变:

perl -p -e 's/\r\n//g' < BVP.csv > BVP1.csv
perl-p-e's/\r\n//g'BVP1.csv
这将剥离
CR+LF
,而将
LF
单独保留

我认为这样做可以满足您的需要,因为没有尾随的
LF
的裸
CR
是比较少见的。MacOS X之前的文本文件格式使用
CR
而没有
LF
。自OS X以来,这些格式的受欢迎程度急剧下降