- 重定向符號(hào) >
腳本:把一堆命令打包在一起執(zhí)行
2.變量
在內(nèi)容中開(kāi)一個(gè)空間,把一個(gè)數(shù)字或文字暫時(shí)保存在空間中
shell 中輸出: echo, 輸出或引用變量時(shí)要增加$符號(hào)
如:
a=10 ## 注意:賦值無(wú)空格
echo $10
運(yùn)算:+ - /* / (*號(hào)要有轉(zhuǎn)議符 )
a=10
b=3
c=`expr $a + $b` ## 公式中運(yùn)算符兩側(cè)要有空格
echo $c
-
if語(yǔ)句
Screen Shot 2021-11-01 at 4.17.31 PM.png
-gt greater than
< -lt less than
= -ge greater equal
<= -le less equal
= -eq
a=10
b=35
if [ $a -gt $b ]
then
echo $a
else
echo $b
fi
4.for循環(huán)
for x in 1 2 3
do
echo $x
done
- while 循環(huán)
x=1
while [ $x -le 10 ]
do
echo $x
x=`expr $x + 1`
done
小應(yīng)用 1. 批量修改文件名稱
fastq文件如下(paired)
1.txt SRR3182423_2.fastq.gz SRR3182434_2.fastq.gz SRR3182444_2.fastq.gz
id_name.txt SRR3182433_1.fastq.gz SRR3182435_1.fastq.gz
mv.sh SRR3182433_2.fastq.gz SRR3182435_2.fastq.gz
SRR3182423_1.fastq.gz SRR3182434_1.fastq.gz SRR3182444_1.fastq.gz
根據(jù)id_name.txt 中id和case的對(duì)照關(guān)系,修改fastq文件名
cat id_name.txt
SRR3182423 case1_germline
SRR3182433 case1_biorep_A_techrep_1
SRR3182434 case1_biorep_B
SRR3182435 case1_biorep_C
SRR3182444 case1_techrep_2
實(shí)現(xiàn)如下:
cat id_name.txt | while read id
do
arr=(${id}) # array 默認(rèn)打印第一個(gè)元素
sample=${arr[0]}
case=${arr[1]}
#echo $arr
#echo $sample
#echo $case
mv ./${sample}_1.fastq.gz ./${case}_1.fastq.gz
mv ./${sample}_2.fastq.gz ./${case}_2.fastq.gz
done
tips:
1.echo array時(shí),默認(rèn)只輸出array的第一個(gè)元素,即array[0].
- 害怕出錯(cuò)時(shí),把中間的變量都打印出來(lái),及時(shí)檢查
