前言
Shell就是一个命令行解释器,它的作用是解释执行用户的命令,用户输入一条命令,Shell就解释执行一条,这种方式称为交互式(Interactive)。Shell还有一种执行命令的方式称为批处理(Batch),用户事先写一 个Shell脚本,其中有很多条命令,让Shell一次把这些命令执行完。Shell脚本和编程语言很相似,也有变量和流程控制语句,包括循环和分支。本文介绍的是编写shell脚本来循环处理文件。
下面通过一个实例演示如何读取文件名包含_UMR的文件,并使用intersectBed处理文件。
intersectBed取交工具链接:
j=1
for shname in `ls *_UMR` #循环当前目录下含_UMR的文件名
do
file[$j]="$shname" #将读取到的文件名放进数组file
if [ $j == 1 ]; then #if开始
echo $(intersectBed -a $ -b $shname > `expr $j + 1`)#$(命令行)或``反单引号,expr 表示后面要对$j进行运算。
else
echo $(intersectBed -a $j -b $shname > `expr $j + 1`)
fi #if结束
j = `expr $j + 1`
done
往期「精彩内容」,点击回顾
精彩会议及课程,点击回顾
CEPI感谢您的支持!
(IOS系统用户专用通道)
领取专属 10元无门槛券
私享最新 技术干货