我正在尝试从csv文件中删除换行符
1 2010-01-08|2010|00360| PAPELETAS DE TRÁNSITO|.000|13.680
2 2010-01-08|2010|00367|30%) DEL ÁREA TOTAL DEL <--here
LOCAL, MÓDULOS, STANS|.000|36.000
3 2010-01-08|2010|00384|EXTERIOR (VÍA PÚBLICA)/DERECHO DE TRAMITACIÓN|.000|6.840
我的csv有6列,用“ |”分隔并且我想做一行,但是从数据库中导出时,我在第2行有一个换行符
答案 0 :(得分:2)
awk -F \| '{c+=NF}c<6{ORS=""}c>=6{ORS=RS;c=0}1' file
将假设您的|
分隔文件在一条记录中包含6列。
答案 1 :(得分:2)
做出很多假设,您可能只想:
awk 'NF==6{ print; next} {getline x; $0 = $0 x } 1' FS=\| input
可以简化为:
awk 'NF < 6 {getline x; $0 = $0 x } 1' FS=\| input
或者(如果您想加入两个以上的连续行)
awk '{while(NF < 6) {getline x; $0 = $0 x }} 1' FS=\| input
这些都是非常脆弱的解决方案。警告读者。
答案 2 :(得分:1)
如果“ d”文件中的数据已尝试使用gnu sed,
关于行号
sed '2{N;s/\n//}' d
关于模式
sed -E '/^([0-9][^|]+\|){3,}\S+(\s+[A-Za-z/(.,)]+)+/{N;s/\n//}' d