需要从具有逗号和Pipedelimited的文件中获取数据

时间:2018-11-27 06:41:53

标签: unix

我们需要创建一个具有以下信息的文件:

源文件看起来像(Detail.txt)

quantile

需要将文件转换为以下格式
目标文件应如下所示:

Seq,Flag,Messages  
1000,1,Msg 1 | Msg 2 |Msg 3 |  
1002,0,Msg 4 | Msg 5 |  

感谢有人在上述问题上为我们提供帮助。

1 个答案:

答案 0 :(得分:0)

使用Perl

> cat swapnil.txt
Seq,Flag,Messages
1000,1,Msg 1 | Msg 2 |Msg 3 |
1002,0,Msg 4 | Msg 5 |
> perl -F,  -lane ' { print if $.==1; if ($.>1) { @x=split(/\|/,$F[2]);for (@x[0..$#x-1]) { s/^\s*//g; print "$F[0],$F[1],$_" }}}' swapnil.txt
Seq,Flag,Messages
1000,1,Msg 1
1000,1,Msg 2
1000,1,Msg 3
1002,0,Msg 4
1002,0,Msg 5
>