我正在尝试从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行有一个换行符
awk -F \| '{c+=NF}c<6{ORS=""}c>=6{ORS=RS;c=0}1' file
假设您的|
分隔文件在记录中包含6列。
做出很多假设,你可能只想要:
awk 'NF==6{ print; next} {getline x; $0 = $0 x } 1' FS=\| input
这可以简化为:
awk 'NF < 6 {getline x; $0 = $0 x } 1' FS=\| input
或者(如果您可能想连续加入超过2行)
awk '{while(NF < 6) {getline x; $0 = $0 x }} 1' FS=\| input
这些都是非常脆弱的解决方案。读者应该收到警告。
如果'd'文件中的数据,试过gnu sed,
就行号而言
sed '2{N;s/\n//}' d
在模式方面
sed -E '/^([0-9][^|]+\|){3,}\S+(\s+[A-Za-z/(.,)]+)+/{N;s/\n//}' d