У меня есть текстовый файл tab separated
, и я хочу выполнить математическую операцию с одним столбцом и создать новый текстовый файл tab separated
.
это пример моего файла:
chr1 144520803 144520804 12 chr1 144520813 58
chr1 144520840 144520841 12 chr1 144520845 36
chr1 144520840 144520841 12 chr1 144520845 36
chr1 144520848 144520849 14 chr1 144520851 32
chr1 144520848 144520849 14 chr1 144520851 32
Я хочу изменить столбец 4th
.на самом деле я хочу divide
каждый элемент в столбце 4th
на sum
всех элементов в 4th column
, а затем умножить на 1000000.как ожидаемый результат.
expected output
:
chr1 144520803 144520804 187500 chr1 144520813 58
chr1 144520840 144520841 187500 chr1 144520845 36
chr1 144520840 144520841 187500 chr1 144520845 36
chr1 144520848 144520849 218750 chr1 144520851 32
chr1 144520848 144520849 218750 chr1 144520851 32
Я пытаюсь сделать это в awk
, используя следующую команду, но она не возвращает то, что я хочу.Вы знаете, как это исправить:
awk '{print $1 "\t" $2 "\t" $3 "\t" $4/{sum+=$4}*1000000 "\t" $5 "\t" $6 "\t" $7}' myfile.txt > new_file.txt