文件如下
a b c 1.2.3.4,5.6.7.8
b b c 2.3.4.5
c b c 2.3.4.5,6.7.8.9
d b c 3.4.5.6
请问如何变成
a b c 1.2.3.4
a b c 5.6.7.8
b b c 2.3.4.5
c b c 2.3.4.5
c b c 6.7.8.9
d b c 3.4.5.6
处理:
awk ‘{l=split($NF,a,”,”);for(i=1;i<=l;i++){$NF=a[i];print}’ file
解析:直接将最后一个字段进行赋值,然后进行输出,只时候前面的几个字段都没有变化,只是最后一个字段变了。
本文介绍了一种利用awk命令处理特定格式CSV文件的方法,通过该方法可以实现将最后一字段的逗号分隔值分别独立成行的目标。此技巧对于批量处理类似格式的数据非常实用。
6万+

被折叠的 条评论
为什么被折叠?



