Well, I managed to make a bash script to do these replacements for \f and also for \x (those were not in question above) with some more adds.
#!/bin/bash
rm loop*.txt >/dev/null 2>&1
cp Loop.txt loopf.txt
# ======= ZAMENJA vse \ PO DATOTEKI, DA NE DELAJO TEZAV ========
sed -i "s/^\\\\/YCY/g" loopf.txt # Prvi znak v vrstici Column
sed -i "s/\\\\f /YFY/g" loopf.txt # Opombe Footnotes
sed -i "s/\\\\x /YRY/g" loopf.txt # Reference Reference
sed -i "s/\\\\/YAY/g" loopf.txt # še preostale \ v datoteki spremenim
#===============================================================
#================================================================
# OPOMBE \f + \fr 1:1 \ft [Leta Gospodovega 96.]\f*
#================================================================
# ========= VNESE STEVILKE POGLAVIJ IN JIH ZAPISE V FAJL ======
# Isce stevilek poglavij in si jih potem zapomni
regex_c="YCYc [0-9]"
# Prebere datoteko ki je spodaj pod DONE
while read line
do
# Ce ustreza regex_c pogoju \c 88 ali YCYc 88
if [[ $line =~ $regex_c ]]
then
# Vsako ne-spremenjeno vrstico posebej zapise v datoteko
echo $line >> loopf1.txt
# Zapomni si stevilko poglavja
regex_c_catch=$line
# echo "regex_c_catch=$regex_c_catch"
else
# Iz trenutne vrstice izvlece stevilko vrstice
num_line_c=$(echo "$regex_c_catch" |colrm 9 |grep -o -E '[0-9]+')
# echo "num_line_c=$num_line_c"
# Vnese stevilko chapterja in pripravi prostor za svetilko vrstice YVY
line1=`echo $line | sed -e "s/YFY/YF1Y$num_line_c\YVY /"`
line2=`echo $line1 | sed -e "s/YFY/YF2Y$num_line_c\YVY /"`
line3=`echo $line2 | sed -e "s/YFY/YF3Y$num_line_c\YVY /"`
line4=`echo $line3 | sed -e "s/YFY/YF4Y$num_line_c\YVY /"`
# Vsako spremenjeno vrstico posebej zapise v datoteko
echo $line4 >> loopf1.txt
fi
done < "loopf.txt"
#=================================================================
# ======= ZAMENJA NAZAJ IN \ OHRANI KOT YFY =========== ========
sed -i "s/YF1Y/YFYf + YFYfr /g" loopf1.txt
sed -i "s/YF2Y/YFYf + YFYfr /g" loopf1.txt
sed -i "s/YF3Y/YFYf + YFYfr /g" loopf1.txt
sed -i "s/YF4Y/YFYf + YFYfr /g" loopf1.txt
#===============================================================
# ========= VNESE STEVILKE VRSTIC IN JIH ZAPISE V FAJL ==========
# Isce stevilke vrstic in si jih potem zapomni
# YCYv 1
regex_v="YCYv [0-9]"
# Prebere datoteko ki je spodaj pod DONE
while read line
do
# Ce ustreza regex_v pogoju \v 188 ali YCYv 188
if [[ $line =~ $regex_v ]]
then
# Izvlece samo stevilko vrstice
NumRegexV=$(echo "$line" |colrm 9 |grep -o -E '[0-9]+')
LineV1=`echo $line | sed -e "s/YVY/YF1Y$NumRegexV YFYft/"`
LineV2=`echo $LineV1 | sed -e "s/YVY/YF1Y$NumRegexV YFYft/"`
LineV3=`echo $LineV2 | sed -e "s/YVY/YF1Y$NumRegexV YFYft/"`
LineV4=`echo $LineV3 | sed -e "s/YVY/YF1Y$NumRegexV YFYft/"`
# Vsako spremenjeno vrstico posebej zapise v datoteko
echo $LineV4 >> loopf2.txt
else
# Vsako ne-spremenjeno vrstico posebej zapise v datoteko
echo $line >> loopf2.txt
fi
done < "loopf1.txt"
#=================================================================
# ======= ZAMENJA NAZAJ vse \ PO DATOTEKI ========
sed -i "s/YF1Y/:/g" loopf2.txt
sed -i "s/YF2Y/:/g" loopf2.txt
sed -i "s/YF3Y/:/g" loopf2.txt
sed -i "s/YF4Y/:/g" loopf2.txt
#===============================================================
#================================================================
# REFERENCE \x - \xr 1:4 \xt 1 Kor 15:21; Kol 1:18\x*
#================================================================
# === Zacne se z referencami in uporabi fajl od footnotesov =====
cp loopf2.txt loopr.txt
# ===============================================================
# ========= VNESE STEVILKE POGLAVIJ IN JIH ZAPISE V FAJL ======
# Isce stevilek poglavij in si jih potem zapomni
regex_c="YCYc [0-9]"
# Prebere datoteko ki je spodaj pod DONE
while read line
do
# Ce ustreza regex_c pogoju \c 88 ali YCYc 88
if [[ $line =~ $regex_c ]]
then
# Vsako ne-spremenjeno vrstico posebej zapise v datoteko
echo $line >> loopr1.txt
# Zapomni si stevilko poglavja
regex_c_catch=$line
# echo "regex_c_catch=$regex_c_catch"
else
# Iz trenutne vrstice izvlece stevilko vrstice
num_line_c=$(echo "$regex_c_catch" |colrm 9 |grep -o -E '[0-9]+')
# echo "num_line_c=$num_line_c"
# Vnese stevilko chapterja in pripravi prostor za svetilko vrstice YWY
line1=`echo $line | sed -e "s/YRY/YR1Y$num_line_c\YWY /"`
line2=`echo $line1 | sed -e "s/YRY/YR2Y$num_line_c\YWY /"`
line3=`echo $line2 | sed -e "s/YRY/YR3Y$num_line_c\YWY /"`
line4=`echo $line3 | sed -e "s/YRY/YR4Y$num_line_c\YWY /"`
# Vsako spremenjeno vrstico posebej zapise v datoteko
echo $line4 >> loopr1.txt
fi
done < "loopr.txt"
#=================================================================
# ======= ZAMENJA NAZAJ vse \ PO DATOTEKI ========
sed -i "s/YR1Y/YFYx - YFYxr /g" loopr1.txt
sed -i "s/YR2Y/YFYx - YFYxr /g" loopr1.txt
sed -i "s/YR3Y/YFYx - YFYxr /g" loopr1.txt
sed -i "s/YR4Y/YFYx - YFYxr /g" loopr1.txt
#===============================================================
# ========= VNESE STEVILKE VRSTIC IN JIH ZAPISE V FAJL ==========
# Isce stevilke vrstic in si jih potem zapomni
# YCYv 1
regex_v="YCYv [0-9]"
# Prebere datoteko ki je spodaj pod DONE
while read line
do
# Ce ustreza regex_v pogoju \v 188 ali YCYv 188
if [[ $line =~ $regex_v ]]
then
# Izvlece samo stevilko vrstice
NumRegexV=$(echo "$line" |colrm 9 |grep -o -E '[0-9]+')
LineV1=`echo $line | sed -e "s/YWY/YR1Y$NumRegexV YFYxt/"`
LineV2=`echo $LineV1 | sed -e "s/YWY/YR1Y$NumRegexV YFYxt/"`
LineV3=`echo $LineV2 | sed -e "s/YWY/YR1Y$NumRegexV YFYxt/"`
LineV4=`echo $LineV3 | sed -e "s/YWY/YR1Y$NumRegexV YFYxt/"`
# Vsako spremenjeno vrstico posebej zapise v datoteko
echo $LineV4 >> loopr2.txt
else
# Vsako ne-spremenjeno vrstico posebej zapise v datoteko
echo $line >> loopr2.txt
fi
done < "loopr1.txt"
#=================================================================
# ======= ZAMENJA NAZAJ vse \ PO DATOTEKI ========
sed -i "s/YCY/\x5c/g" loopr2.txt
sed -i "s/YRY/ \x5cx/g" loopr2.txt # odstrnail presledek
sed -i "s/YR1Y/:/g" loopr2.txt
sed -i "s/YR2Y/:/g" loopr2.txt
sed -i "s/YR3Y/:/g" loopr2.txt
sed -i "s/YR4Y/:/g" loopr2.txt
sed -i "s/YFY/\x5c/g" loopr2.txt # Final replacement YFY -> \
sed -i "s/YAY/\x5c/g" loopr2.txt # Final replacement YAY -> \
#=====================================================================
echo -E " "
cat loopr2.txt
Real input is:
...
\c 1
...
\v 1 Razodetje\f [Leta Gospodovega 96.]\f* Jezusa...
...
\v 5 priča\x 1 Kor 15:21; Kol 1:18\x* \add in\add* prvorojenec ... krvi\x Heb 9:14\x* umil...
...
\c 2
...
\v 14 drže\x 4 Mz 25\x* Bileámovega
...
\c 3
...
\v 14 Laodikejcev\f Laodikejcev: ali, v Laodikeji.\f* piši
...
And the result is:
...
\c 1
...
\v 1 Razodetje\f + \fr 1:1 \ft [Leta Gospodovega 96.]\f* Jezusa
...
\v 5 priča\x - \xr 1:5 \xt 1 Kor 15:21; Kol 1:18\x* \add in\add* prvorojenec ... krvi\x - \xr 1:5 \xt Heb 9:14\x* umil...
...
\c 2
...
\v 14 drže\x - \xr 2:14 \xt 4 Mz 25\x* Bileámovega
...
\c 3
...
\v 14 Laodikejcev\f + \fr 3:14 \ft Laodikejcev
...
And I found out there is a little macro in the XeTeX code \reference that turns into the current chapter:verse.
I should look at it, besause my script is quite slow.
"\\f + " > "\\f + \\fr \\reference "