【发布时间】:2017-06-19 13:26:14
【问题描述】:
问题陈述:
我有一个从 Teradata 卸载的分隔文本文件,该文件恰好在数据字段中包含“\n”(换行符或 EOL 标记)。
同一 EOL 标记位于整行或整条记录的每一新行的末尾。
我需要将此文件拆分为两个或多个文件(基于我提供的记录数),同时在数据字段中保留换行符,但在每行末尾保留换行符。
例子:
1|Alan
Wake|15
2|Nathan
Drake|10
3|Gordon
Freeman|11
期待:
file1.txt
1|Alan
Wake|15
2|Nathan
Drake|10
file2.txt
3|Gordon
Freeman|11
我尝试过的:
awk 'BEGIN{RS="\n"}NR%2==1{x="SplitF"++i;}{print > x}' inputfile.txt
代码无法区分数据字段换行符和实际换行符。有没有办法实现?
编辑:: 我已经用示例更改了问题陈述。请分享您对新示例的看法。
【问题讨论】:
-
详细说明
based on no of records given by me -
观看这部分 "NR%2==..." 表示每两条记录我拆分
-
您将不得不告诉我们将 X 行放在一个文件中并将 Y 行放在另一个文件中的标准是什么。有很多替代方案可以产生该输出(每 4 行拆分,大致分成两半,同时保留成对的行等) - 告诉我们您真正想要哪一个。