如何在 bash 中匹配不同目录中的文件名?

如何在 bash 中匹配不同目录中的文件名?

我有两个目录,其中有文件。

dir_one 包含如下名称的文件:

10.recode.vcf.map

dir_two 文件名模式如下所示:

遗传图谱_GRCh37_chr10.txt

我编写了一些 R 脚本来处理这些文件。为了运行该脚本,我必须运行以下命令:

Rscript 插值.R 10.recode.vcf.mapgenetic_map_GRCh37_chr10.txt

现在我想运行这个脚本 22 次,但我无法找到匹配不同目录中两个文件的方法。

到目前为止,我只知道如何从文件名中提取常用数字:

for i in ./map_files/*
do
        echo ${i} ${i} | cut -d'/' -f 3 | cut -d'.' -f 1
done

我不知道下一步该怎么做...有人能提供建议吗?

答案1

我好像找到了答案。我用的是 bash参数扩展像这样:

#/bin/bash

for i in ./map_files/*
do
        t=${i##*/}
        t=${t%%.*}
        Rscript interpolation.R $i ./genetic_map_HapMapII_GRCh37/*chr$t.*
done

相关内容