Я хотел бы использовать find для поиска файлов в разных подкаталогах, которые должны соответствовать тому же шаблону, что и их родительская категория.
пример:
ls
Random1_fa Random2_fa Random3_fa
внутри этих папок есть разные файлы, которые я хочу найти только для каждого из них:
cd Random1_fa
Random1.fa
Random1.fastq
Random1_match_genome.fa
Random1_unmatch_genome.fa
...
Я хочу "найти" только файлы с именем "filename" .fa, например:
/foo/bar/1_Random1/Random1_fa/Random1.fa
/foo/bar/2_Random2/Random2_fa/Random2.fa
/foo/bar/3_Random5/Random5_fa/Random5.fa
/foo/bar/10_Random99/Random99_fa/Random99.fa
Я сделал:
ls | sed 's/_fa//' |find -name "*.fa"
но не то, что я искал.
Я хочу перенаправить результат sed как шаблон регулярных выражений в find.
Нечто похожее на «awk»:
ls| sed 's/_fa//' |find -name "$1.fa"
или
ls| sed 's/_fa/.fa/' |find -name "$1"