Drucken Sie in der ersten Spalte basierend auf der Zeilennummer in der richtigen Reihenfolge

Drucken Sie in der ersten Spalte basierend auf der Zeilennummer in der richtigen Reihenfolge

Ich habe eine Datei, Datei1, mit folgenden Werten

50
43
43
39
38

Ich habe einen konstanten Parameter "framei=218" definiert und möchte die folgende Ausgabe erhalten, file2

218   50
218.5 43
219   43
219.5 39
220   38

wird ungefähr wie folgt aussehen

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

Antwort1

Die Formel muss etwas komplexer sein:

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

Oder wenn Sie $frameiauf 217,5 initialisieren:

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

Antwort2

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

Antwort3

Erledigt durch Below-Befehl

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

Ausgabe

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

Ausgabe

218 50
218.5 43
219 43
219.5 39
220 38

verwandte Informationen