cat file
A 2 3 5 0
B 2 3 6 0
C 2 3 6 0
按第一个前缀把后面的内容拆分为多行:
A 2
A 3
A 5
A 0
B 2
B 3
B 6
B 0
C 2
C 3
C 6
C 0
- sed -nr 's/(\w+)(\s+\w+)/\1\2\n\1/;T;P;D' file
[解析] 这个思路太棒了,把标签和后面的替换成要的格式,然后用P;D组合打印第一行,再删除第一行。
- awk '{for(i=2;i<=NF;i++)print $1,$i}' file
[解析] 用awk其实简单很多,for循环遍历字段就行了。
阅读(5003) | 评论(0) | 转发(1) |