awk基于开始和结束范围生成序列号:

时间:2014-07-17 06:49:18

标签: awk

想要根据开始和结束范围以及描述生成生成序列号。

INPUT.TXT

SatrtRange,EndRange,Date, Desc
5,10,20-Jun-2014,abc
20,25,30-Jun-2014,def
2,2,15-May-2014,ghi

尝试过以下命令并得到部分输出:

awk -F, '{s[NR]=$1;e[NR]=$2;} { for (i=s[NR];i<=e[NR];i++) print i} ' Input.txt >Op_Con_Seq_Num.txt

输出:

5
6
7
8
9
10
20
21
22
23
24
25
2

但是,想要从Input.txt打印其他字段信息,请建议..

期望的输出:

5,20-Jun-2014,abc
6,20-Jun-2014,abc
7,20-Jun-2014,abc
8,20-Jun-2014,abc
9,20-Jun-2014,abc
10,20-Jun-2014,abc
20,30-Jun-2014,def
21,30-Jun-2014,def
22,30-Jun-2014,def
23,30-Jun-2014,def
24,30-Jun-2014,def
25,30-Jun-2014,def
2,15-May-2014,ghi

2 个答案:

答案 0 :(得分:2)

awk 'BEGIN{FS=OFS=","} {for (i=$1;i<=$2;i++) print i,$3,$4}' Input.txt

答案 1 :(得分:0)

你非常接近:

awk -F, '{s[NR]=$1;e[NR]=$2;} { for (i=s[NR];i<=e[NR];i++) print i","$3","$4} ' Input.txt