Werte aus text datei auslesen in Rtf template schreiben

Kratos

Kratos

Jungspund
Hallo Boargemeinde,
ich habe eine TEXT_datei und Rtf_Template und möchte die Werte aus Text auslesen lassen und in rtf_Template schreiben lassen. hat jemand von euch eine idee wie ich das unter shell hienbekomme? :hilfe2:

im Voraus Danke für jede Hilfe

Text datei:
KUNDENNUMMER: 12345612
VORNAME: Uwe
NACHNAME: Berger
STRASSE: Hansivstrasse
POSTLEITZAHL: 52014
ORT: Köln
ZEITRAUM: 05.01.2007

rtf_Template:

«KUNDENNUMMER»
«VORNAME»
«NACHNAME»
«STRASSE»
«POSTLEITZAHL»
«ORT»
«ZEITRAUM»
 
Zuletzt bearbeitet:
Hallo Kratos

Ich muss gestehen, ich verstehe nicht ganz was du machen willst. Also um genau zu sein, verstehe ich nicht ganz, wie das das Endresultat aussehen soll...

Willst du schlussendlich einfach eine Liste der Werte in dieser Reihenfolge? Wie muss ich rtf_Template verstehen?

Gruss
d22
 
Hallo dizzgo,
Erstmal danke für deine Hilfe,
Endresultat sollte so aussehen:

12345612
Uwe
Berger
Hansivstrasse
52014
Köln
05.01.2007

Das Skripte liest die Werte aus txt(Quell datei) aus und bildet die txt Daten zur Dokumentschablone (rtf_template) ab und erstellt ein neues Dokument (rtf).
 
Das heisst einfach alles vor dem Doppelpunkt löschen und in eine neue Datei ausgeben?
Code:
sed 's/.*: //g' inputdatei > outputdatei
Und was dann?

Gruss
 
Danke dizzgo und root1992,
läuft super :brav:
.
.
.
EDIT (autom. Beitragszusammenführung) :
.

Hallo Boargemeinde,
ich habe noch eine Frage, möchte die zweite Zeile aus Text auslesen lassen. Wie kann ich das unter shell hienbekommen?

im Voraus Danke für jede Hilfe

Text datei:
KUNDENNUMMER: 12345612
VORNAME: Uwe ------------------------------> NUR DIESE ZEILE (Uwe)
NACHNAME: Berger
STRASSE: Hansivstrasse
POSTLEITZAHL: 52014
ORT: Köln
ZEITRAUM: 05.01.2007
 
Zuletzt bearbeitet:
Hi Boardgemeinde,
Ich möchte aus bestimmten Datei eine Zeile auslesen lassen und Diese Wert als Variable speichern. Mein Skript liest erfolgreich diese bestimmte Zeile aus aber kann nicht als variable speichern!!
hat jemand von euch eine idee wie ich das unter shell hienbekomme?

im Voraus Danke für jede Hilfe
Mein Quell Datei ist;
Code:
Heinz
Berger
Herr
Testweg 111
98765
Stetten

Mein skript:
Code:
#!/bin/sh 
 a=$(sed -n '1p' test.txt) | b=$(sed -n '2p' test.txt) | c=$(sed -n '3p' test.txt);
 
Hallo

Du hast das grundsätzlich schon richtig gemacht... Ich frage mich nur, was du mit den Pipes (|) willst...
Code:
#!/bin/sh 
a=$(sed -n '1p' test.txt)
b=$(sed -n '2p' test.txt)
c=$(sed -n '3p' test.txt)
echo $a
echo $b
echo $c

Gruss
d22
 
Mein skript:
Code:
#!/bin/sh 
 a=$(sed -n '1p' test.txt) | b=$(sed -n '2p' test.txt) | c=$(sed -n '3p' test.txt);

Nach etwas suchen in
info bash schrieb:
Each command in a pipeline is executed in its own subshell
D.h., die Zuweisung der Variablen findet in einem Unterprozess statt. Sobald der beendet wird, weiss der aufrufende Prozess nichts mehr von dessen Ergebnis. Wieso rufst Du die drei Zuweisungen nicht einfach nacheinander auf, weswegen die pipeline?
 
Hi Dizzgo,
Danke nochmal für deine Hilfe, Ich möchte eine formular datei mit diesen Variablen ausfüllen:

Formular Datei (formular.rtf):
Code:
Nachname: --->kommt hier variable  $a  
Vorname: hier ---> $b
Anrede: ---> $c
ich versuch mal mit diesem Code, aber ging es nicht !
Code:
#!/bin/sh 

 a=$(sed -n '1p' test.txt)
 b=$(sed -n '2p' test.txt)
 c=$(sed -n '3p' test.txt)
 echo $a
 echo $b
 echo $c
 sed '1i/.*:$a //g' formular.rtf >> neu.rtf
 sed '2i/.*:$b //g' formular.rtf >> neu.rtf 
 sed '3i/.*:$c //g' formular.rtf >> neu.rtf;
.
.
.
EDIT (autom. Beitragszusammenführung) :
.

Wo mache ich fehler ? hat jemand eine Idee
 
Zuletzt bearbeitet:
Nah drann...

Code:
#!/bin/sh 

 a="$(sed -n '1p' test.txt)"
 b="$(sed -n '2p' test.txt)"
 c="$(sed -n '3p' test.txt)"

 sed "1 s/\(.*\)$/\1$a/;2 s/\(.*\)$/\1$b/;3 s/\(.*\)$/\1$c/" formular.rtf >> output.txt

sollte funktionieren...
Lies doch vielleicht mal noch das: http://www.ostc.de/sed.pdf

Gruss
d22
 
THXxxxxxxxxxxxxx dizzgo,
Was soll ich sagen, Du bist unglaublich. :respekt:
läuft prima :D
 
Hi Dizzgo,
Ich habe mein skript geändert. Mein skript sollte jetzt im formular Blatt <Anrede> durch $a ersetzen. Ich habe mit folgenden Code versucht.
Aber ging es nicht!
Formular
Code:
<Anrede>
<Name>
           Sehr geehrte(r) <Anrede> < Name>

Mein Code
Code:
#!/bin/sh 
 a="$(sed -n '1p' test.txt)"
 b="$(sed -n '2p' test.txt)"
 c="$(sed -n '3p' test.txt)"
 d="$(sed -n '4p' test.txt)"
 e="$(sed -n '5p' test.txt)"
 f="$(sed -n '6p' test.txt)"
 g="$(sed -n '7p' test.txt)"

 sed "s/<Anrede>/$a/g"  formular.rtf > Neu.rtf
 
Probiers mal so:
Code:
#!/bin/sh
 a="$(sed -n '1p' test.txt)"
 b="$(sed -n '2p' test.txt)"
 c="$(sed -n '3p' test.txt)"
 d="$(sed -n '4p' test.txt)"
 e="$(sed -n '5p' test.txt)"
 f="$(sed -n '6p' test.txt)"
 g="$(sed -n '7p' test.txt)"

 sed "s/.*<Anrede>.*/$a/g"  formular.rtf > Neu.rtf

Aber zwei Fragen noch, erstens, für was brauchst du das Ganze überhaupt, ist reine Neugierde...
Und zweitens, hast du die Links angeschaut, die ich gepostet habe...

gruss
d22
 
Erstmal danke Dizzgo,
Diese Skript ist für meine Uni-Hausaufgabe :))
Ich habe die Links abgecheckt. Besonders ist Sed.pdf sehr hilfreich. Aber Ich konnte diese Sternchen nicht denken. :-)
 

Ähnliche Themen

ca. 1200 PDF-Dateien auslesen und bestimmte Daten in eine CSV-Datei speichern

Werte aus Dateien lesen

Ausgabe in Datei umleiten und gleichzeigig eine max. Größe der Datei definieren?

mittels if abfrage datei nach variabelnwert durchsuchen

Mit Picasa vergebene Tags aus jpg-Dateien auslesen

Zurück
Oben