【发布时间】:2018-02-14 12:28:42
【问题描述】:
我有一个文件,其内容如下:
1 18997 19003 ABCP@CC;8CYUS|ABCP@CC;8C|ABCP@CC;8C|XXYG;UY|UOO98,|ABCP@CC;8CYUS
2 87737 93837 AASC
因此,有些行的第 4 列带有分隔符,有些则没有。
我想要的是,每当我看到"|" 时剪切,并将前 3 列附加为新行:
1 18997 19003 ABCP@CC;8CYUS
1 18997 19003 ABCP@CC;8C
1 18997 19003 ABCP@CC;8C
1 18997 19003 XXYG;UY
1 18997 19003 UOO98,
1 18997 19003 ABCP@CC;8CYUS
2 87737 93837 AASC
然后我将申请uniq 并删除重复项。
我已经尝试过:
awk '{split($0,a,"|"); print a[1],a[2],a[3],a[4]}'
但是,它只会将第 4 列拆分到同一行中,并且不会将其附加到新行。
我怎样才能得到预期的输出?
【问题讨论】: