Мне нужно было сначала запустить
sudo apt-get install pkg-config
перед запуском
./autogen.sh
Вы можете сделать это с помощью GNU dc
следующим образом:
< new_file.txt tr -- - _ | dc -e "[q]sq [?z1=qrd1<qrn32anp0.005+dd=?]s? 0l?x"
dc -e '
# macro for quitting
[q]sq
# macro to read next line and perform operations
[
? z1=q # read next line and quit when it is empty. The 1 is apriori
r # else, reverse the stack elements so that sum is top of stack now
d1<q # quit if current sum is more than 1
r # else, reverse the stack elements so that line is top of stack now
n 32an p # print the line, space (32a is ascii decimal for space), & print current sum
0.005+ # update the current sum for next round
dd=? # recursively invoke itself for more.... its a loop essentially
]s?
# initialize stack and start operations
0 l?x
'
Как упоминалось в комментариях, paste
— лучший вариант делать то, что вы хотите.
paste new_file.txt <sequence file>
Если вы хотите создать последовательность во время выполнения
seq 0 0.005 1 | paste new_file.txt /dev/stdin
Пример (для 5 записей вnew_file.txt
)
~$ seq 0 0.005 0.020 | paste new_file.txt /dev/stdin
2.41 0.000
2.56 0.005
2.71 0.010
2.86 0.015
3.01 0.020
Примечание. :Если в каком-либо файле/команде есть дополнительные строки, соответствующие строки в выводе будут пустыми. Поэтому убедитесь, что оба файла имеют одинаковое количество строк.
С seq
иpaste
:
seq 0 0.005 1 | paste newfile.txt - > newerfile.txt
Сawk
awk '{$2 = 0.005*(NR-1)} 1' OFS='\t' newfile.txt > newerfile.txt
В зависимости от вашей версии awk
вы можете изменить newfile.txt
на месте.