2021-09-09【linux】丨shell使用for循环遍历文件/数组
目录摘要for循环遍历文件使用方法方法一方法二总结摘要在日常生信分析过程中,分析员或多或少会使用for循环批量处理样品或者分组。这里我简单整理一下自己常用的两种遍历方法。for循环遍历文件使用方法方法一对于在同一个文件内的所有样品,使用 ls 可以遍历该文件夹内的所有文件名。for i in ls ./;doecho ${i}done可能有时候还有一些脚本文件在里面, 我们可以使用 正则表达式 *
·
摘要
在日常生信分析过程中,分析员或多或少会使用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还是有些区别,尤其是数组循环。好好利用可以解决批量样品的处理以及差异分组的分析。
更多推荐
已为社区贡献1条内容
所有评论(0)