我在路径cd /home/vdas/ChIP-Seq/output/ Directory listing下有多个目录
drwxrwxrwx 3 vdas DPT 7 Feb 2 10:41 S_12_O_319_K27ac
drwxrwxrwx 3 vdas DPT 7 Feb 2 10:41 S_12_O_319_K27me3
drwxrwxrwx 3 vdas DPT 7 Feb 2 10:41 S_12_O_319_K4me1
drwxrwxrwx 3 vdas DPT 7 Feb 2 10:41 S_12_O_319_K4me3
drwxrwxrwx 3 vdas DPT 7 Feb 2 10:41 S_12_O_319_input
drwxrwxrwx 3 vdas DPT 7 Feb 2 10:41 S_13_O1_122_K27ac
drwxrwxrwx 3 vdas DPT 7 Feb 2 10:41 S_13_O1_122_K27me3在每个目录中都有一个*.sorted.bam文件。我想要编写一个bash脚本,该脚本将进入每个sample目录并运行以下命令
bedtools bamToBed -i input .bam > out.bed我写了一个小的bash脚本,但它不工作。你能告诉我哪里弄错了吗?
#!/bin/sh
#
#$ -N bam2bed
#$ -cwd
#$ -e err_bam2bed.log
#$ -o out_bam2bed.log
#$ -S /bin/sh
#$ -M xyz@gmail.com
#$ -m bea
#$ -l h_vmem=25G
cd /home/vdas/ChIP-Seq/output
for x in `ls S*/*.sorted.bam` ; do
echo "print current:$x"
bedtools bamToBed -i "$x" > "${x%.bam}.bed"
done
echo "done"我哪里搞错了?我不打算编写重复的命令,那么创建for循环的确切方法应该是什么呢?如果我没记错的话,这应该没问题。让我知道。
发布于 2016-02-02 19:24:38
尝尝这个
cd /home/vdas/ChIP-Seq/output
for x in S*/*.sorted.bam ; do
echo "print current:$x";
bedtools bamToBed -i "$x" > "${x%.bam}.bed";
done
echo "done"https://stackoverflow.com/questions/35151915
复制相似问题