根據行號正確順序在第一列列印

根據行號正確順序在第一列列印

我有一個文件 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

相關內容