awk 处理文本问题

2021-02-09 12:55:45 +08:00
 liemehoc
需要处理的文本如下

a:1,2,3,4,5
b:6,7
c:8
d:9,10

期望的输出为

a,1
a,2
a,3
a,4
a,5
b,6
b,7
c,8
d,9
d,10

第一反应是用 awk,想问一下有更简单的处理方法吗
758 次点击
所在节点    问与答
3 条回复
klakekent
2021-02-09 13:20:47 +08:00
awk + split
rrfeng
2021-02-09 13:39:57 +08:00
awk -F'[:,]' '{for(i=2;i<=NF;i++)print $1","$i}'

awk 确实是最简单的。

sed 也可以但是写出来大部分人看不懂。

python 类的就不用说了,随便写
liemehoc
2021-02-09 14:38:09 +08:00
@rrfeng 学习了,awk 真的方便

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/752592

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX