与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