目录

  • 摘要
  • for循环遍历文件使用方法
    • 方法一
    • 方法二
  • 总结

摘要

在日常生信分析过程中,分析员或多或少会使用for循环批量处理样品或者分组。这里我简单整理一下自己常用的两种遍历方法。

for循环遍历文件使用方法

方法一

对于在同一个文件内的所有样品,使用 ls 可以遍历该文件夹内的所有文件名。

for i in `ls ./`;
do
echo ${i}
done

可能有时候还有一些脚本文件在里面, 我们可以使用 正则表达式 *来表示文件内的样品名

for i in *_R1.fastq.gz;
do
i={i%_R1.fastq.gz} #获取样品名前缀
echo  ${i}_R1.fastq.gz  ${i}_R2.fastq.gz
done

方法二

如果样品数目不多,可以直接添加样品前缀

for i in 18134R-104-01_S0_L001 18134R-104-02_S0_L001 18134R-104-03_S0_L001;
do
echo  ${i}_R1.fastq.gz  ${i}_R2.fastq.gz
done

或者设置数组,输入样品名

group=(18134R-104-01_S0_L001 18134R-104-02_S0_L001 18134R-104-03_S0_L001)#使用括号,样品名用空格分隔
for i in ${group[@]};
do
echo  ${i}_R1.fastq.gz  ${i}_R2.fastq.gz
done

总结

shell的for循环和R,python还是有些区别,尤其是数组循环。好好利用可以解决批量样品的处理以及差异分组的分析。

2021-09-09【linux】丨shell使用for循环遍历文件/数组相关推荐

  1. flac格式音频转wav|Linux 使用 Shell 循环遍历文件夹里的音频——简介

    FLAC (无损音频压缩编码)-百度百科简介 使用sox工具把 flac 格式转wav,命令如下: sox 1.flac 1.wav 如果你的 flac 通道数.采样率.量化进度和wav不一致的话,需 ...

  2. Linux命令+shell脚本大全:查看文件内容

    Linux中有几个命令可以查看文件的内容,而不需要调用其他文本编辑器(参见第10章).本 节将演示一些可以帮助查看文件内容的命令. 3.8.1 查看文件类型 在显示文件内容之前,应该先了解一下文件的类 ...

  3. (032) Linux之shell流控制for循环

    十年运维系列之基础篇 - Linux 作者:曾林 联系:1494445739@qq.com 网站:www.jplatformx.com 版权:文章未经同意请勿转载 一.引言 本章是关于流控制的最后一章 ...

  4. Linux centosVMware shell编程 for循环、while循环、break跳出循环、continue结束本次循环、exit退出整个脚本...

    一.for循环 语法:for 变量名 in 条件; do -; done 案例1 #!/bin/bash sum=0 for i in `seq 1 100` do sum=$[$sum+$i] ec ...

  5. Linux——Bash Shell脚本 for循环

    1.创建和执行Bash Shell脚本 (1)借助Bash Shell环境和脚本编写功能,将Linux命令与shell脚本组合在一起,从而轻松的解决重复而困难的实际问题,Bash shell脚本最简单 ...

  6. linux命令行下写for语句,Linux下Shell的for循环语句示例

    循环不管在程序中还是脚本中都需要经常用到,在写shell脚本时,经常需要for进行100次循环.for 循环是固定循环,也就是在循环时已经知道需要进行几次循环.有时也把 for 循环称为计数循环. S ...

  7. Linux下Shell的for循环语句

    第一类:数字性循环 ----------------------------- for1-1.sh #!/bin/bash for((i=1;i<=10;i++)); do echo $(exp ...

  8. 【Linux】脚本实现for循环遍历数组

    我最近在我的 Linux课上写出来一些初级的题目, 我解决问题之后,觉得还是把这些坑都写清楚,方便 Linux的初学者以及自己跟进一步理解. 1.编写脚本,实现遍历数组array=(Zero One ...

  9. shell怎样循环遍历字符串数组

    Foo=("a" "b" "c" "d" "e") for  name in ${Foo[@]} d ...

最新文章

  1. 简述java中的注释以及用法_怎样理解 Java 注解和运用注解编程?
  2. 技术宝典 | ToB 业务场景下自动化测试的实践及探索
  3. kubernetes-Service
  4. js网页顶部线性页面加载进度条,jquery头部线性进度条总结
  5. java hung_java – Hung JVM消耗100%的CPU
  6. java程序员 进阶_Java程序员进阶架构师的五个阶段,你到
  7. (九)把一切放在一起:用深度伪造换脸
  8. 这个严重的无补丁 UPnP 漏洞影响几乎所有的IoT设备:绕过安全系统、扫描LANs
  9. centos6.5安装mysql
  10. Spring:ReflectionUtils工具类使用一:Field
  11. 使用myEclipse开发Hibernate项目的步骤
  12. mysql 最大值65536_SQL server事物复制报错:要复制的 LOB 数据的长度(xxxxx)超出了配置的最大值 65536...
  13. oracle asm omf,Oracle Managed Files,OMF
  14. 快手开店怎么引流?快手小店自上线以来就吸引众多的商家入驻
  15. 20行Python小程序批量删除GitHub仓库,包
  16. ONES 解码:为何数字化是“超级工程”
  17. 牛顿法、梯度下降法与拟牛顿法
  18. 算法:求10万以内的质数
  19. CV_RETR_TREE’ was not declared in this scope
  20. 【Nodejs】外研社小学英语教材一年级起各年级英语音频下载(全)

热门文章

  1. iMeta | 南科大夏雨组纳米孔测序揭示微生物可减轻高海拔冻土温室气体排放
  2. 数字图像处理风格化效果——马赛克处理
  3. 微信的红包算法 了解一下两种就可以了
  4. php怎么彻底清楚,navicat怎么彻底删除
  5. 线性方程组与矩阵的秩
  6. JSP停车场车位管理系统myeclipse开发oracle数据库BS模式java编程网
  7. WebStorm--常用插件
  8. android otg 挂载流程,android USB OTG功能如何打开及实现
  9. USART与UART的区别,单工,半双工和全双工的区别
  10. Zuul网关的快速使用