Я использую следующий код, чтобы ГРЭП значения, которые вычисляются путем добавления и вычитания 1 из 2-го и 3-го столбца следующим образом:Вычитание числа от переменного метания ошибки
while read intron ; do
start=$(grep -w $intron ../file_to_be_grepped_from | awk '{print $2}')
end=$(grep -w $intron ../file_to_be_grepped_from | awk '{print $3}')
str=$(($start-1))
en=$(($end+1))
grep -w $str ../file_to_be_grepped_from
grep -w $en ../file_to_be_grepped_from
echo $intron
done < file
Однако та часть, где я добавление и вычитание 1 из 3-го и 2-го столбцов соответственно, я получаю сообщение об ошибке «46844234-1: синтаксическая ошибка в выражении (токен ошибки« 46844234-1 »)» для строки в файле, который я получаю grepping из (file_to_be_grepped_from) , Строки в файле, из которого они являются grepped выглядеть следующим образом:
chr9 46844104 46844233 ENSG00000226007:E2 +
chr9 46844104 46846023 ENSG00000226007:I2 +
chr3 21584308 21584487 ENSG00000225542:E1 +
chr3 21620681 21620873 ENSG00000225542:E2 +
Я пытаюсь выяснить, если ошибка происходит из-за повторяющиеся строки или что-то другое, я попробовал весь возможный синтаксис для вычитания числа из переменная.
Какие оболочки вы используете? У вас есть линия «she-bang» в верхней части вашего скрипта? '#!/usr/bin/env bash'. Еще одна важная вещь - не забудьте добавить переменные в двойные кавычки, такие как '' $ intron'' и т. Д., Чтобы избежать сюрпризов. – codeforester