#!/bin/bash

t=$(mktemp -t -d awkinator.XXXXXXXXXX) || exit
cd "$t"
trap 'rm -rf "$t"' EXIT ERR

cat <<\: >file1.txt
Name	Latin-small	Roman	Latin-caps
F0	a	I	A
F1	b	II	B
F2	c	III	C
F3	d	IV	D
:

cat <<\: >file2.txt
Lorem ipsum
Roman here.
LCaps here.
LSmall here.
Lorem ipsum
:

awk -F "\t" 'BEGIN { split(":LSmall:Roman:LCaps", k, /:/) }
    NR==FNR { a[NR] = $0; n=NR; next }
    FNR==1 { next }  # skip header
    {
        system("mkdir "$1)
        filename=$1"/"$1".txt"        
        for(i=1; i<=n; i++) {
            line = a[i]
            for (j=2; j<=NF; ++j) {
                if (line ~ k[j]) {
                    gsub(/here/, $j, line)
                    break
                }
        }
        print line >>filename }
    }' file2.txt file1.txt

tail */*.txt