使用SED或AWK使用分隔符分隔.csv列数据

问题描述:

我正在处理包含七列的大数据。使用SED或AWK使用分隔符分隔.csv列数据

第2-7列包含以列标题名称+“=”作为前缀的数据。例如柱2包含此数据:

Row 1: Date=2017-08-19 
Row 2: Date=2017-08-19 
Row 3: Date=2017-08-19 
Row 4: Date=2017-08-19 

例如第3栏包含以下数据:

Row 1: Campaign=123456789 
Row 2: Campaign=123456789 
Row 3: Campaign=123456789 
Row 4: Campaign=123456789 

我需要删除经添附数据(所有这些使用字符串+“=”格式),以便每个单元格只包含实际数据。我如何使用SED或AWK进行此操作,最重要的是,如何将这些数据导出到包含裸数据的新文件(非预先数据)?谢谢。

11111111-1111-1111-111111111111 Date=2017-08-18 00:10:26.39242 Campaign_ID=123456789 placement_name=HELLO event_type=Impressions pcp=NA package_name=WORLD 
11111111-1111-1111-111111111111 Date=2017-08-18 00:27:38.416628 Campaign_ID=123456790 placement_name=HELLO event_type=Impressions pcp=NA package_name=WORLD 
11111111-1111-1111-111111111111 Date=2017-08-28 07:35:48.400623 Campaign_ID=123456791 placement_name=HELLO event_type=Impressions pcp=NA package_name=WORLD 
11111111-1111-1111-111111111111 Date=2017-08-14 09:34:12.602475 Campaign_ID=123456792 placement_name=HELLO event_type=Impressions pcp=NA package_name=WORLD 
11111111-1111-1111-111111111111 Date=2017-08-21 13:27:01.466864 Campaign_ID=123456793 placement_name=HELLO event_type=Impressions pcp=NA package_name=WORLD 
11111111-1111-1111-111111111111 Date=2017-08-12 16:42:07.427034 Campaign_ID=123456794 placement_name=HELLO event_type=Impressions pcp=NA package_name=WORLD 
11111111-1111-1111-111111111111 Date=2017-08-19 20:31:09.754326 Campaign_ID=123456795 placement_name=HELLO event_type=Impressions pcp=NA package_name=WORLD 
11111111-1111-1111-111111111111 Date=2017-08-30 14:32:28.054 Campaign_ID=123456796 placement_name=HELLO event_type=Impressions pcp=NA package_name=WORLD 
11111111-1111-1111-111111111111 Date=2017-08-09 12:08:31.876589 Campaign_ID=123456797 placement_name=HELLO event_type=Impressions pcp=NA package_name=WORLD 
11111111-1111-1111-111111111111 Date=2017-08-21 22:03:17.1221 Campaign_ID=123456798 placement_name=HELLO event_type=Impressions pcp=NA package_name=WORLD 

sed的解决方案:

sed 's/[^[:space:]=]*=//g' file > newfile 
+0

嘿,让你提供的解决方案有所合作。它从列中删除了前缀字符串+“=”,但它删除了列3-6中的所有数据。此外,它将数据输出到单个列中,这意味着它将来自第2列和第7列的数据合并到每行数据的单个单元中。 – pghInitechBranch

+0

@pghInitechBranch,而不是拖拽您的本地结果的细节 - 更新您的问题发布所有实际列。 (即发布实际数据) – RomanPerekhrest

+0

用csv示例更新。 – pghInitechBranch