![печатать в первом столбце на основе номера строки правильная последовательность](https://rvso.com/image/164716/%D0%BF%D0%B5%D1%87%D0%B0%D1%82%D0%B0%D1%82%D1%8C%20%D0%B2%20%D0%BF%D0%B5%D1%80%D0%B2%D0%BE%D0%BC%20%D1%81%D1%82%D0%BE%D0%BB%D0%B1%D1%86%D0%B5%20%D0%BD%D0%B0%20%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%B5%20%D0%BD%D0%BE%D0%BC%D0%B5%D1%80%D0%B0%20%D1%81%D1%82%D1%80%D0%BE%D0%BA%D0%B8%20%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F%20%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C.png)
У меня есть файл 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
Питон
#!/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