行番号の正しい順序に基づいて最初の列に印刷します

行番号の正しい順序に基づいて最初の列に印刷します

次の値を持つファイルfile1があります

50
43
43
39
38

定数パラメータ「framei=218」を定義し、次の出力ファイル2を取得したい。

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}'

または、$framei217.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

パイソン

#!/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

関連情報