【发布时间】:2019-10-22 17:24:00
【问题描述】:
给出一个输入文件,其中每一行包含分隔数据,在数据/标题的末尾有额外的分隔符,带或不带附件。
末尾的额外分隔符可以包含/不包含空格。
场景 1:标题和数据末尾包含额外的分隔符
eno|ename|address|
A|B|C|
D|E|F|
场景 2:标头末尾不包含额外的分隔符
eno|ename|address
A|B|C|
D|E|F|
场景 3:带外壳
eno|ename|address|
1|2|"A"|
最终输出必须像
场景 1:
eno|ename|address
A|B|C
D|E|F
场景 2:
eno|ename|address
A|B|C
D|E|F
场景 3:
eno|ename|address
1|2|"A"
到目前为止我尝试过的解决方案。但是下面的解决方案不适用于所有三种场景,无论如何我可以使用单个命令来支持 Sed/Awk/Perl 中的所有三种场景
perl -pne 's/(.*)\|/$1/' filename
【问题讨论】:
-
使用
-p或-n之一,但不能同时使用。 -
@格伦杰克曼。您可以同时使用两者。这简直是不必要的,因为使用
-p会打开-n。