我有一个这样的数字列表:
28
57
87
116
145
176
204
233
我需要将其转换为带有名称的范围,并且基本上每个范围对应于第一个数字,直到下一个数字-1。像这样:
type, range1=28-56
type, range2=57-86
type, range3=87-115
type, range4=116-144
type, range5=145-175
type, range6=176-203
type, range7=204-232
有关如何操作的任何想法?
答案 0 :(得分:5)
您可以使用此awk
:
awk 'p{printf "type, range%d=%d-%d\n", ++r, p, $1-1} {p=$1}' file
type, range1=28-56
type, range2=57-86
type, range3=87-115
type, range4=116-144
type, range5=145-175
type, range6=176-203
type, range7=204-232