美文网首页系统进化便捷工具
批量重命名:如果会linux呢?

批量重命名:如果会linux呢?

作者: 刘小泽 | 来源:发表于2019-06-12 23:35 被阅读0次

    刘小泽写于19.6.13
    和花花一起回家,一起回忆了花花的童年。小学已经倒闭了,但幼儿园还在,还有好多小孩在里面玩。还看了许多有意思的路边风景,在花花家炒了第一次菜

    内容很简单,题目是:

    简单回顾一下

    假入现在有这些双端测序文件

    # 根据下面的对应关系,首先新建这些gz文件出来,然后 shell脚本改名
    # 比如 SRR6269851_1.fastq.gz 改名为 P3_DCIS_Exome_1.fastq.gz
    # 以此类推
    
    Library_Name    Run
    
    P3_DCIS_Exome    SRR6269851
    
    P4_DCIS_Exome    SRR6269852
    P1_DCIS_Exome    SRR6269853
    P2_DCIS_Exome    SRR6269854
    
    P7_DCIS_Exome    SRR6269855
    P5_DCIS_Exome    SRR6269856
    P8_DCIS_Exome    SRR6269857
    P6_DCIS_Exome    SRR6269858
    P10_DCIS_Exome    SRR6269859
    P9_DCIS_Exome    SRR6269860
    P3_INV_Exome    SRR6269861
    
    P4_INV_Exome    SRR6269862
    P2_INV_Exome    SRR6269863
    P1_INV_Exome    SRR6269864
    
    P7_INV_Exome    SRR6269865
    P8_INV_Exome    SRR6269866
    
    P5_INV_Exome    SRR6269867
    
    P6_INV_Exome    SRR6269868
    P9_INV_Exome    SRR6269869
    
    P10_INV_Exome    SRR6269870
    P10_Norm_Exome    SRR6269871
    P9_Norm_Exome    SRR6269872
    
    P4_Norm_Exome    SRR6269873
    P3_Norm_Exome    SRR6269874
    P2_Norm_Exome    SRR6269875
    
    P1_Norm_Exome    SRR6269876
    
    P8_Norm_Exome    SRR6269877
    P7_Norm_Exome    SRR6269878
    P6_Norm_Exome    SRR6269879
    
    P5_Norm_Exome    SRR6269880
    

    思路

    方法有很多,你会怎么考虑呢?

    • 首先用touch新建,结尾的id是有顺序的
    • 复制这个library-run两列表,发现其中是有空行的,需要去掉空行和首行无用信息
    • 结合shell的数组(array)可以获得表示列的变量
    • 最后利用mv进行替换
    # 首先生成数据
    for i in $(seq 51 80);do touch SRR62698${i}_1.fastq.gz;done
    for i in $(seq 51 80);do touch SRR62698${i}_2.fastq.gz;done
    # 构建array
    sed 1d lib_run.txt|sed '/^$/d' | cut -f1>lib
    sed 1d lib_run.txt|sed '/^$/d' | cut -f2>run
    paste lib run >lib_run
    # 循环替换,一行行读取
    cat lib_run| while read i
    do
        lib_run=($i)
        lib=${lib_run[0]}
        run=${lib_run[1]}
        mv ${run}_1.fastq.gz ${lib}_1.fastq.gz
        mv ${run}_2.fastq.gz ${lib}_2.fastq.gz
    done
    

    这里的重点就是数组的使用,推荐阅读:shell 13问(http://wiki.jikexueyuan.com/project/13-questions-of-shell/eight.html)


    欢迎关注我们的公众号~_~  
    我们是两个农转生信的小硕,打造生信星球,想让它成为一个不拽术语、通俗易懂的生信知识平台。需要帮助或提出意见请后台留言或发送邮件到jieandze1314@gmail.com

    Welcome to our bioinfoplanet!

    相关文章

      网友评论

        本文标题:批量重命名:如果会linux呢?

        本文链接:https://www.haomeiwen.com/subject/pmlyfctx.html