我想在每对文件上运行一个循环命令
a_xxx.wig
b_xxx.wig
c_xxx.wig
a_xxx.bed
b_xxx.bed
c_xxx.bed
我希望根据样本名称(a,b或c)匹配文件,并让循环通过每个对运行一个命令,而不必一次只执行一个
for file in * do
bedtools intersect -a $sample.wig -b $sample > $sample.bed
done
任何想法或指示都将不胜感激
答案 0 :(得分:3)
wig
文件是输入,所以只需迭代它们。您可以提取文件名的一部分,以用作其他名称的“基础”。
for file in *.wig; do
sample=${file%.wig}
bedtools intersect -a "$sample.wig" -b "$sample" > "$sample.bed"
done