cat sample | while read id
do
array=($id)#不能有空格 与perl不同 把读入的数据放进数组()
fqname=$array[0]#必须大括号括起来不然$array为一个整体
dirname=${array[1]}
echo $fqname
echo $dirname
done
加减
cat gff | while read id
do
array=($id)
chr=${array[0]}
start=${array[3]}
end=${array[4]}
distance=100
pre_start=`expr ${start} - ${distance}`
post_end=`expr ${end}+${distance}`
echo $chr,$pre_start,$start,$end,$post_end
done
可以使用双括号 ((…)) 和 $((…)) 或使用内置的 let 命令执行算术扩展。
i=$((i+1))
((i=i+1))
let "i=i+1"
i=$((i-1))
((i=i-1))
let "i=i-1"
x=60
cat z.33bam | while read id
do
#array=($id)
#dirname=${array[0]}
#file=${array[1]}
x=$((x+1))
dirname=${x}_.${id}
cp */*$file*.bam ../$dirname/$dirname.bam
cp ../bamtofq.sh ../