Jak dopasować nazwy plików w różnych katalogach w bashu?

-2

Mam dwa katalogi z plikami.

dir_one zawiera pliki o nazwach takich jak:

10.recode.vcf.map

wzór dir_two nazwy pliku wygląda następująco:

genetic_map_GRCh37_chr10.txt

Napisałem skrypt R, który robi coś z plikami. Aby uruchomić skrypt, muszę uruchomić następujące polecenie:

Interpolacja Rscript.R 10.recode.vcf.mapgenetic_map_GRCh37_chr10.txt

Teraz chcę uruchomić ten skrypt 22 razy, ale nie mogę znaleźć sposobu na dopasowanie dwóch plików w różnych katalogach.

Do tej pory pomyślałem tylko, jak wyodrębnić wspólny numer z nazwy pliku:

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

Nie jestem pewien, co robić dalej ... Czy ktoś może doradzić?

YKY
źródło
Czy powinno być miejsce między map i genetic w skrypcie uruchomić łańcuch? Musisz nam powiedzieć więcej o zawartości katalogów ( dir_one, dir_two i map_files ) i wyjaśnij kryteria parowania, zanim będziemy mogli pomóc.
AFH
Kryteria parowania to liczba. Numer 10 w przykładzie.
YKY
Oba katalogi zawierają kilka nazw plików. Nazwy plików w katalogu różnią się tylko liczbą (10 w przykładzie, więc zamiast 10 będzie 9, 7, 22 itd.).
YKY

Odpowiedzi:

0

Wygląda na to, że to wymyśliłem. Użyłem basha rozszerzenie parametrów w ten sposób:

#/bin/bash

for i in ./map_files/*
do
        t=${i##*/}
        t=${t%%.*}
        Rscript interpolation.R $i ./genetic_map_HapMapII_GRCh37/*chr$t.*
done
YKY
źródło
1
Nie mógłbym tego wyjaśnić na podstawie podanych przez ciebie informacji: wywnioskowałem to map_files jest dir_one, ale tak nie powiedziałeś; a ciąg odpowiedzi nie pasuje do przykładu w Twoim pytaniu. Zachowaj większą ostrożność, jeśli zadasz jakiekolwiek pytania w przyszłości.
AFH