【发布时间】:2020-07-15 05:43:20
【问题描述】:
我有一个具有这种结构的制表符分隔源文件:只有从 ID 到 Line Item/Property 的前 9 列是固定的,其余的都是动态变化的计数和结构。
ID Date/Time (UTC) User Description Security Change Previous Value New Value Module/List Line Item/Property Scenarios Region EM2 Plan Item PB6 Market EM4 Plants - Master Plan Brand PB4 T/DI GRS 6 GRS 7 Target User Import Object Target Role Export Dashboard Action Time
这是该文件中的一个示例记录
2572561 3/24/2020 14:01 chiara.bettini@gmail.com FALSE TRUE FILTER: Brand P&L Report - Market Plan Brands Polly Pocket chiara.bettini@gmail.com
我需要使用 Unix shell 脚本将其更改为 具有以下标头和数据格式的 CSV 文件。我想保留永久列(直到行项目/属性的 ID),并将所有其他动态变量列放入属性名称和属性值列:
ID,Date/Time (UTC),User,Description,Security Change,Previous Value,New Value,Module/List,Line Item/Property,Attribute Name,Attribute Value
2572561,3/24/2020 14:01,chiara.bettini@gmail.com,,,FALSE,TRUE,FILTER: Brand P&L Report - Market,Plan Brands,Scenarios,
2572561,3/24/2020 14:01,chiara.bettini@gmail.com,,,FALSE,TRUE,FILTER: Brand P&L Report - Market,Plan Brands,Region EM2,
2572561,3/24/2020 14:01,chiara.bettini@gmail.com,,,FALSE,TRUE,FILTER: Brand P&L Report - Market,Plan Brands,Plan Item PB6,
2572561,3/24/2020 14:01,chiara.bettini@gmail.com,,,FALSE,TRUE,FILTER: Brand P&L Report - Market,Plan Brands,Market EM4,
2572561,3/24/2020 14:01,chiara.bettini@gmail.com,,,FALSE,TRUE,FILTER: Brand P&L Report - Market,Plan Brands,Plants - Master,
2572561,3/24/2020 14:01,chiara.bettini@gmail.com,,,FALSE,TRUE,FILTER: Brand P&L Report - Market,Plan Brands,Plan Brand PB4,Polly Pocket
2572561,3/24/2020 14:01,chiara.bettini@gmail.com,,,FALSE,TRUE,FILTER: Brand P&L Report - Market,Plan Brands,T/DI,
2572561,3/24/2020 14:01,chiara.bettini@gmail.com,,,FALSE,TRUE,FILTER: Brand P&L Report - Market,Plan Brands,GRS 6,
2572561,3/24/2020 14:01,chiara.bettini@gmail.com,,,FALSE,TRUE,FILTER: Brand P&L Report - Market,Plan Brands,GRS 7,
2572561,3/24/2020 14:01,chiara.bettini@gmail.com,,,FALSE,TRUE,FILTER: Brand P&L Report - Market,Plan Brands,Target User,chiara.bettini@gmail.com
2572561,3/24/2020 14:01,chiara.bettini@gmail.com,,,FALSE,TRUE,FILTER: Brand P&L Report - Market,Plan Brands,Import,
2572561,3/24/2020 14:01,chiara.bettini@gmail.com,,,FALSE,TRUE,FILTER: Brand P&L Report - Market,Plan Brands,Object,
2572561,3/24/2020 14:01,chiara.bettini@gmail.com,,,FALSE,TRUE,FILTER: Brand P&L Report - Market,Plan Brands,Target Role,
2572561,3/24/2020 14:01,chiara.bettini@gmail.com,,,FALSE,TRUE,FILTER: Brand P&L Report - Market,Plan Brands,Export,
2572561,3/24/2020 14:01,chiara.bettini@gmail.com,,,FALSE,TRUE,FILTER: Brand P&L Report - Market,Plan Brands,Dashboard,
2572561,3/24/2020 14:01,chiara.bettini@gmail.com,,,FALSE,TRUE,FILTER: Brand P&L Report - Market,Plan Brands,Action,
2572561,3/24/2020 14:01,chiara.bettini@gmail.com,,,FALSE,TRUE,FILTER: Brand P&L Report - Market,Plan Brands,Time,
【问题讨论】:
-
请在您的问题中将您的示例包装在代码标签中,然后告诉我们。
-
请删除电子邮件地址,并用 foo@bar 之类的虚拟值替换它。
-
它已经是一个虚拟的电子邮件地址
-
请说明如何处理原始数据记录中的逗号(
,)。