![行番号の正しい順序に基づいて最初の列に印刷します](https://rvso.com/image/164716/%E8%A1%8C%E7%95%AA%E5%8F%B7%E3%81%AE%E6%AD%A3%E3%81%97%E3%81%84%E9%A0%86%E5%BA%8F%E3%81%AB%E5%9F%BA%E3%81%A5%E3%81%84%E3%81%A6%E6%9C%80%E5%88%9D%E3%81%AE%E5%88%97%E3%81%AB%E5%8D%B0%E5%88%B7%E3%81%97%E3%81%BE%E3%81%99.png)
次の値を持つファイル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}'
または、$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
パイソン
#!/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