2024-10-31获取文件夹内未生成bam的文件

ls *.fq.gz | while read f; do b="${f%.fq.gz}.bam"; if [ ! -f "$b" ]; then echo "$f"; fi; done

1.ls *.fq.gz:

列出当前目录下所有以.fq.gz结尾的文件

2.|:

管道符号,将前一个命令的输出作为后一个命令的输入

3.while read f; do:

while循环,逐行读取前面ls命令的输出

每一行(即每个文件名)被存储在变量f中

4.b="${f%.fq.gz}.bam":

对于每个.fq.gz文件,构造对应的.bam文件名

${f%.fq.gz} 是字符串操作,意思是从f变量值中删除末尾的.fq.gz

然后加上.bam后缀,得到对应的bam文件名

5.if [ ! -f "$b" ]:

检查构造的bam文件是否存在

-f 测试文件是否存在

! 表示取反,所以 ! -f 意思是"文件不存在"

6.then echo "$f":

如果bam文件不存在,则输出原始的fq.gz文件名

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 注:本次使用的数据为不同品种李子重测序 1.准备工作 首先下载相应的参考基因组及注释文件{本次使用的参考基因组为三...
    PS小易同学阅读 7,625评论 0 6
  • 1.Bam2fq (by 森哥) 脚本如下: #!/usr/bin/perl =head1 Description...
    AsuraPrince阅读 754评论 0 0
  • 遇到一些奇怪的名字,批量修改成相同的文件名称. 思路:匹配到特定字符, -n 确认是否正确 -v 进行修改 ren...
    赵会成阅读 3,826评论 0 1
  • 生信学习笔记 linux部分功能 查看文件夹 工具 选项 可以设置鼠标功能 可以设置右键粘贴 双击这个窗口可以再打...
    Vikenn阅读 4,844评论 1 4
  • 我们这里将用于流程构建的BWA就是其中最优秀的一个,它将BW(Burrows-Wheeler)压缩算法和后缀树相结...
    KK_f2d5阅读 7,124评论 0 9