【发布时间】:2017-06-24 21:33:59
【问题描述】:
我有一个巨大的 csv 文件,大约 500Mb。字段分隔符是管道字符 (|)。有些行包含换行符和回车符。我需要删除它们,但我不想删除每行末尾的合法换行符。如其他问题所示,我已尝试使用 sed 和 tr ,但最终删除了所有换行符,这不是我想要的。
示例输入(||Yes 行应连接到上一行):
21/06/2016 18:06:32|||||||||||||||||||32 Red|Jrup Vej 6|61069849
||Yes||vals
21/06/2016 18:06:32|||||||||||||||||||101 K|Ser Bevard 110|||No|
我的尝试:
sed -i 's/\r\n//g' myfile.csv
tr -d '\r' < myfile.csv
感谢您的帮助, 乔
【问题讨论】:
-
您忘记提供示例输入、预期输出和您自己的努力。
-
你怎么知道哪个行尾是“合法的”?行尾是行尾是行尾。除非有围绕合法或非法行尾的特定上下文,否则不可能说哪个行尾可能是合法的。
-
相当棘手。我会说,如果换行符之前是一些文本和管道,那么这是我需要摆脱的换行符。