#!/bin/bash
t =$( mktemp -t -d awkinator2.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
:
# Trim the obnoxious header
tail -n +2 file1.txt |
while read -r directory LSmall Roman LCaps; do
mkdir "$directory "
awk -v LSmall ="$LSmall " -v Roman ="$Roman " -v LCaps ="$LCaps " '
BEGIN { split("LSmall:Roman:LCaps", k, /:/)
split(LSmall ":" Roman ":" LCaps, r, /:/) }
{
for (j=1; j<=3; ++j)
if ($0 ~ k[j]) {
gsub(/here/, r[j])
break
}
}1' file2.txt > "$directory " / "$directory " .txt
done
tail */* .txt
IyEvYmluL2Jhc2gKCnQ9JChta3RlbXAgLXQgLWQgYXdraW5hdG9yMi5YWFhYWFhYWFhYKSB8fCBleGl0CmNkICIkdCIKdHJhcCAncm0gLXJmICIkdCInIEVYSVQgRVJSCgpjYXQgPDxcOiA+ZmlsZTEudHh0Ck5hbWUJTGF0aW4tc21hbGwJUm9tYW4JTGF0aW4tY2FwcwpGMAlhCUkJQQpGMQliCUlJCUIKRjIJYwlJSUkJQwpGMwlkCUlWCUQKOgoKY2F0IDw8XDogPmZpbGUyLnR4dApMb3JlbSBpcHN1bQpSb21hbiBoZXJlLgpMQ2FwcyBoZXJlLgpMU21hbGwgaGVyZS4KTG9yZW0gaXBzdW0KOgojIFRyaW0gdGhlIG9ibm94aW91cyBoZWFkZXIKdGFpbCAtbiArMiBmaWxlMS50eHQgfAp3aGlsZSByZWFkIC1yIGRpcmVjdG9yeSBMU21hbGwgUm9tYW4gTENhcHM7IGRvCiAgICBta2RpciAiJGRpcmVjdG9yeSIKICAgIGF3ayAtdiBMU21hbGw9IiRMU21hbGwiIC12IFJvbWFuPSIkUm9tYW4iIC12IExDYXBzPSIkTENhcHMiICcKICAgICAgICBCRUdJTiB7IHNwbGl0KCJMU21hbGw6Um9tYW46TENhcHMiLCBrLCAvOi8pCiAgICAgICAgICAgIHNwbGl0KExTbWFsbCAiOiIgUm9tYW4gIjoiIExDYXBzLCByLCAvOi8pIH0KICAgICAgICB7CiAgICAgICAgICAgIGZvciAoaj0xOyBqPD0zOyArK2opCiAgICAgICAgICAgICAgICBpZiAoJDAgfiBrW2pdKSB7CiAgICAgICAgICAgICAgICAgICAgZ3N1YigvaGVyZS8sIHJbal0pCiAgICAgICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICAgICAgICAgIH0KICAgICAgICB9MScgZmlsZTIudHh0ID4iJGRpcmVjdG9yeSIvIiRkaXJlY3RvcnkiLnR4dApkb25lCgp0YWlsICovKi50eHQ=