Linux - shell 控制流

  1. 重定向符號(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
  1. 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
  1. 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].

  1. 害怕出錯(cuò)時(shí),把中間的變量都打印出來(lái),及時(shí)檢查
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容