Я пытаюсь выполнить следующую команду AWKматематики в AWK колонках
awk '{ if($3-$2 >= 1000) print $1"\t"$3-1000"\t"$3"\t"$4"\t"$5 ; else if($3-$2 < 1000) print $1"\t"$3-($3-$2/2)"\t"$3"\t"$4"\t"$5 }'file
где, если вычитание между колонкой 3 и 2 составляет> 1000, то следовать определенному условию, иначе следовать другому условию, в котором столбец 2 является column3- (column3-column2/2) целым числом. Файл выглядит следующим образом:
chrX 99885864 99887481 I7 -
chrX 99887566 99888401 I6 -
chrX 99888537 99888927 I5 -
chrX 99889027 99890174 I4 -
chrX 99890250 99890554 I3 -
chrX 99890744 99891187 I2 -
chrX 99892102 99894941 I1 -
chr20 49552800 49557401 I8 -
chr20 49557493 49557641 I7 -
chr20 49557747 49558567 I6 -
Какая ошибка вы получаете? – CoconutBandit
я получаю что-то вроде: chrX \t 4.99443e + 07 \t 99888927 I5 или chr20 \t 2.47787e + 07 \t 49557641 I7 вместо целых чисел – AishwaryaKulkarni
Check [это сообщение] (http://stackoverflow.com/a/12714193/3865495) вне. похоже, что вы не хотите, чтобы научная нотация, что 'print' по умолчанию – CoconutBandit