我在源自外部源的文件中遇到新行字符问题。新行字符影响仅针对特定字段@ data5(如下所示),并且应用程序无法读取格式这个。
试图删除它,但它也删除了行的实际结束。
请告诉我,如何从一行中删除换行符,而不从行尾删除换行符。
数据显示如下
_1 || || _2 || data_3 || data_4
data_5 || data_6 || data_7 || data_8 || data_9
_1 || _2 || data_3 || data_4 || data_5
|| || data_6 || data_7 || data_8 data_9
预期产出:
_1 || _2 || data_3 || data_4 || data_5 || data_6 || data_7 || data_8 || data_9
data_1 || data_2 || data_3 || data_4 || data_5 || data_6 || data_7 || data_8 || data_9
先谢谢
答案 0 :(得分:1)
另一个awk
$ awk -v RS= '{gsub(/\n\|\|/,"||")}1' file
data_1||data_2||data_3||data_4||data_5||data_6||data_7||data_8||data_9
data_1||data_2||data_3||data_4||data_5||data_6||data_7||data_8||data_9
答案 1 :(得分:0)
您可以使用此awk
:
awk 'NR%2{printf $0;next}1' yourfile
添加额外的步骤以确保棘手的行具有预期的字段数:
awk 'NR%2&&NF==9{printf $0;next}1' FS='|' yourfile
<强>解释强>
NR%2{printf $0;next}
:避免为偶数行打印回车符,next
避免进一步处理。
1
:正常打印奇数行。