从抛出错误的变量中减去一个数字
Subtracting a number from a variable throwing an error
我正在使用以下代码来 grep 通过从第 2 列和第 3 列加减 1 计算得出的值,如下所示:
while read intron ; do
start=$(grep -w $intron ../file_to_be_grepped_from | awk '{print }')
end=$(grep -w $intron ../file_to_be_grepped_from | awk '{print }')
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
然而,我分别从第 3 列和第 2 列加减 1 的部分出现“46844234-1:表达式语法错误(错误标记为“46844234-1”)”错误我正在从 (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 +
我想弄清楚错误是因为重复的行还是其他原因,我尝试了所有可能的语法来从变量中减去一个数字。
请尝试:
start="101010"
end="999999"
let str=$start-1
let en=$end+1
echo $str $en
101009 1000000
str=$(grep -w $intron ../file_to_be_grepped_from | awk '{print(-1)}')
en=$(grep -w $intron ../file_to_be_grepped_from | awk '{print(+1)}')
我正在使用以下代码来 grep 通过从第 2 列和第 3 列加减 1 计算得出的值,如下所示:
while read intron ; do
start=$(grep -w $intron ../file_to_be_grepped_from | awk '{print }')
end=$(grep -w $intron ../file_to_be_grepped_from | awk '{print }')
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
然而,我分别从第 3 列和第 2 列加减 1 的部分出现“46844234-1:表达式语法错误(错误标记为“46844234-1”)”错误我正在从 (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 +
我想弄清楚错误是因为重复的行还是其他原因,我尝试了所有可能的语法来从变量中减去一个数字。
请尝试:
start="101010"
end="999999"
let str=$start-1
let en=$end+1
echo $str $en
101009 1000000
str=$(grep -w $intron ../file_to_be_grepped_from | awk '{print(-1)}')
en=$(grep -w $intron ../file_to_be_grepped_from | awk '{print(+1)}')