与awk匹配模式后的突破线

我有这种文件

A 1,2,3,4
B 1
C 1,2 

我想得到 awk 这个输出:

A 1
A 2
A 3
A 4
B 1 
C 1 
C 2
C 3

试过的代码:

sed 's/,/n&/g' file

对 awk 有什么想法吗?

回答

您能否尝试使用多字段分隔符概念,使用 GNU 中显示的示例编写和测试awk

awk 'BEGIN{FS="[ ,]"} {for(i=2;i<=NF;i++){print $1,$i}}' Input_file

第二种解决方案:拆分第二个字段值。

awk '{num=split($2,arr,",");for(i=1;i<=num;i++){print $1,arr[i]}}' Input_file


以上是与awk匹配模式后的突破线的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>