Je ein ';' wird durch einen '\' ersetzt
Neben den Backslashes am Zeilenende gab es Backslashes innerhalb des Textes. Beispiel: - Datum: 05.\,02.\,2024 - Straße: Gitstr.\,42 Mit diesen Backslashes kam die Ersetzung nicht gut zurecht. Daher habe ich das so geändert, dass jedes Semikolon (';') durch einen Backslash ersetzt wird. Im Datum und Straßen muss nun auch ein Semikolon stehen. Damit klappt die Ersetzung besser.
This commit is contained in:
parent
d15355b689
commit
ef70318e30
|
@ -1,11 +1,11 @@
|
||||||
# file: rechnung.ini
|
# file: rechnung.ini
|
||||||
#
|
#
|
||||||
# Bei adresse1 muss am Ende ein Semikolon (;) stehen. Dies sorgt dafür, dass im
|
# Bei adresse1 müssen an jedem Zeilenumbruch zwei Semikola (;;;;) stehen. Dies sorgt dafür, dass im
|
||||||
# LaTeX-Code dies durch zwei Backslashes ersetzt wird.
|
# LaTeX-Code dies durch zwei Backslashes ersetzt wird.
|
||||||
|
|
||||||
[start]
|
[start]
|
||||||
kunde=Firma A
|
kunde=Firma A
|
||||||
adresse= Strasse A; 012345 Stadt A;
|
adresse= Strasse A;; 012345 Stadt A;;
|
||||||
anrede=Sehr geehrte Damen und Herren,
|
anrede=Sehr geehrte Damen und Herren,
|
||||||
einleitung=anbei die Rechnung
|
einleitung=anbei die Rechnung
|
||||||
anzahl=1
|
anzahl=1
|
||||||
|
@ -17,7 +17,7 @@ lfdnr=1
|
||||||
|
|
||||||
[start]
|
[start]
|
||||||
kunde=Firma B
|
kunde=Firma B
|
||||||
adresse=Personalabteilung; Frau B; Strasse B; 01234 Stadt B;
|
adresse=Personalabteilung;; Frau B;; Strasse B;; 01234 Stadt B;;
|
||||||
anrede=Sehr geehrte Frau B,
|
anrede=Sehr geehrte Frau B,
|
||||||
einleitung=Wie in Vertrag 08/15 vereibart berechne ich
|
einleitung=Wie in Vertrag 08/15 vereibart berechne ich
|
||||||
anzahl=11
|
anzahl=11
|
||||||
|
@ -29,7 +29,7 @@ lfdnr=1
|
||||||
|
|
||||||
[start]
|
[start]
|
||||||
kunde=Herr C
|
kunde=Herr C
|
||||||
adresse=Strasse C; 12345 Stadt C;
|
adresse=Strasse C;; 12345 Stadt C;;
|
||||||
anrede=Sehr geehrter Herr C,
|
anrede=Sehr geehrter Herr C,
|
||||||
einleitung=anbei die Rechnung
|
einleitung=anbei die Rechnung
|
||||||
anzahl=1
|
anzahl=1
|
||||||
|
|
12
rechnung.sh
12
rechnung.sh
|
@ -460,27 +460,29 @@ make_invoice() (
|
||||||
dead_days="16"
|
dead_days="16"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Bei der Ersetzung unten wird jedes ';' durch genau ein '\' ersetzt. Daher ist die Anzahl der ';' wichtig.
|
||||||
month_ascii=$(date '+%B')
|
month_ascii=$(date '+%B')
|
||||||
inv_date=$(date '+%Y%m%d')
|
inv_date=$(date '+%Y%m%d')
|
||||||
inv_dead=$(date -d "+${dead_days}days" '+%d.\\,%m.\\,%Y')
|
inv_dead=$(date -d "+${dead_days}days" '+%d.;,%m.;,%Y')
|
||||||
rechnungsnummer="$inv_date--$LFDNR"
|
rechnungsnummer="$inv_date--$LFDNR"
|
||||||
subject="Rechnung zu $SHORT"
|
subject="Rechnung zu $SHORT"
|
||||||
filename="$(date '+%Y%m%d')_Rechnung_${month_ascii}_$(echo "$KUNDE" | $TR_BIN " " "_").ltx"
|
filename="$(date '+%Y%m%d')_Rechnung_${month_ascii}_$(echo "$KUNDE" | $TR_BIN " " "_").ltx"
|
||||||
buffer="$KUNDE; $ADRESSE"
|
buffer="$KUNDE;; $ADRESSE"
|
||||||
anschrift="${buffer//;/\\\\\\\\}"
|
#anschrift=$(echo "$buffer" | sed 's/;/\\\\/g')
|
||||||
|
|
||||||
|
|
||||||
print_info "Erstelle Rechnung: $filename"
|
print_info "Erstelle Rechnung: $filename"
|
||||||
{
|
{
|
||||||
printf "s!#LCOFILE#!%s!\n" "$LCO"
|
printf "s!#LCOFILE#!%s!\n" "$LCO"
|
||||||
printf "s!#SUBJECT#!%s!\n" "$subject"
|
printf "s!#SUBJECT#!%s!\n" "$subject"
|
||||||
printf "s!#ANREDE#!%s!\n" "$ANREDE"
|
printf "s!#ANREDE#!%s!\n" "$ANREDE"
|
||||||
printf "s!#ANSCHRIFT#!%s!\n" "$anschrift"
|
printf "s!#ANSCHRIFT#!%s!\n" "$(echo "$buffer" | sed 's/;/\\\\/g')"
|
||||||
printf "s!#RECHNUNGSNUMMER#!%s!\n" "$rechnungsnummer"
|
printf "s!#RECHNUNGSNUMMER#!%s!\n" "$rechnungsnummer"
|
||||||
printf "s!#ANZAHL#!%s!\n" "$ANZAHL"
|
printf "s!#ANZAHL#!%s!\n" "$ANZAHL"
|
||||||
printf "s!#POSITION#!%s!\n" "$POSITION"
|
printf "s!#POSITION#!%s!\n" "$POSITION"
|
||||||
printf "s!#EINLEITUNG#!%s!\n" "$EINLEITUNG"
|
printf "s!#EINLEITUNG#!%s!\n" "$EINLEITUNG"
|
||||||
printf "s!#BETRAG#!%s!\n" "$BETRAG"
|
printf "s!#BETRAG#!%s!\n" "$BETRAG"
|
||||||
printf "s!#DEADLINE#!%s!\n" "$inv_dead"
|
printf "s!#DEADLINE#!%s!\n" "$(echo "$inv_dead" | sed 's/;/\\\\/g')"
|
||||||
} >$SEDFILE
|
} >$SEDFILE
|
||||||
cp "$TEMPLATEFILE" "$filename"
|
cp "$TEMPLATEFILE" "$filename"
|
||||||
$SED_BIN -i -f "$SEDFILE" "$filename"
|
$SED_BIN -i -f "$SEDFILE" "$filename"
|
||||||
|
|
Loading…
Reference in a new issue