根据行号正确顺序在第一列中打印

根据行号正确顺序在第一列中打印

我有一个文件 file1,具有以下值

50
43
43
39
38

我定义了一个常量参数“framei=218”,我想获得以下输出,file2

218   50
218.5 43
219   43
219.5 39
220   38

将类似于以下内容

awk '{print NR*'$framei' " " $s}' file1 > file2

答案1

公式需要更复杂一些:

awk '{print (NR-1)/2+'$framei' " " $s}'

或者,如果您初始化$framei为 217.5:

awk '{print NR/2+'$framei' " " $s}'

答案2

awk '{print '$framei'+NR/2-0.5 " " $s}' file1 > file2

答案3

通过以下命令完成

awk 'BEGIN{sum=218}NR>1{sum=sum+0.5}{print sum,$1}' file

输出

218 50
218.5 43
219 43
219.5 39
220 38

Python

#!/usr/bin/python
sum=218
k=open('file','r')
l=k.readlines()
print len(l)
for i in range(0,len(l),1):
    print sum,l[i].strip()
    sum=sum+0.5

输出

218 50
218.5 43
219 43
219.5 39
220 38

相关内容